首页 > 解决方案 > 用python更改xml文件中的子字符串

问题描述

我正在尝试更改符号<>在 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 格式

任何解决方案?

标签: python-3.xreplaceinnerhtmlstr-replace

解决方案


由于它是转义的 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">

推荐阅读