用python更改xml文件中的子字符串

Posted

技术标签:

【中文标题】用python更改xml文件中的子字符串【英文标题】:change sub string in xml file with python 【发布时间】:2020-02-16 08:50:53 【问题描述】:

我正在尝试更改 xml 文件中的符号 <>

    <divclass="specific_info_group">
    <divclass="specific_info_title">model</div>
    <divclass="specific_info_txt">

我已尝试将其替换为 re:

        re.sub('&lt;','<',desc)
        re.sub('&gt;','>', desc)

代码没有改变任何东西,我仍然得到这些符号。 另外,我已经尝试过使用这个:

        desc.replace('&lt;','<')
        desc.replace('&gt;', '<')

但我仍然没有得到输出 XML 文件中的 html 格式

任何解决方案?

【问题讨论】:

我认为您需要使用CDATA,但是您的问题缺乏示例。 嗨 - 我会编辑问题 【参考方案1】:

因为它是转义的 html,你应该使用 html 解析器来取消转义。

desc = """
    &lt;divclass="specific_info_group"&gt;
    &lt;divclass="specific_info_title"&gt;model&lt;/div&gt;
    &lt;divclass="specific_info_txt"&gt;
    """

import html.parser
parser = html.parser.HTMLParser()
bla = parser.unescape(desc)

print(bla)
#    <divclass="specific_info_group">
#    <divclass="specific_info_title">model</div>
#    <divclass="specific_info_txt">

【讨论】:

嗨@Frank - 我试过这个,但我仍然得到这些符号。当我从 url 中删除数据时,我试图这样做。看起来我在写入 xml 文件时得到了符号。 你刮得怎么样?你能提供一个工作样本吗?

以上是关于用python更改xml文件中的子字符串的主要内容,如果未能解决你的问题,请参考以下文章

[在python中使用正则表达式搜索字符串子字符串

PB中取字符串子串的函数是啥

C语言中如何用一个字符串替换一个主串中的子串

PB中取字符串子串的函数是啥

字符串子串去重之后的个数

sql server 里类似replace的字符串子串删除