Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
etree解析包含转义html的xml_Html_Xml_Elementtree - Fatal编程技术网

etree解析包含转义html的xml

etree解析包含转义html的xml,html,xml,elementtree,Html,Xml,Elementtree,我有一个包含转义html的xml文件,字段如下所示: 一些带有html i的记录标题这应该在转义的html/i中,标题的末尾 我发现这个元素很好: el = titles.find("x:title", NS) 但当我这样做的时候: el.text 它返回带有非转义标记的文本: “某些带有html的记录标题应在转义html中;,标题结尾“ 为什么会这样?即使提供了转义,我也必须再次单独转义html标记吗?我希望能够为xml提供转义和非转义html标记(有时显示为文本,有时显

我有一个包含转义html的xml文件,字段如下所示:

一些带有html i的记录标题这应该在转义的html/i中,标题的末尾

我发现这个元素很好:

el = titles.find("x:title", NS)
但当我这样做的时候:

el.text

它返回带有非转义标记的文本:

“某些带有html的记录标题应在转义html中;,标题结尾“


为什么会这样?即使提供了转义,我也必须再次单独转义html标记吗?我希望能够为xml提供转义和非转义html标记(有时显示为文本,有时显示为格式化文本)。如何正确提供它?

在使用ElementTree函数时
\u escape\u attrib()
可以使用:

import xml.etree.ElementTree as ET

text = '''<title>Some records title with html &lt;i&gt; This should be inside escaped html &lt;/i&gt;, end of the title</title>
'''

root = ET.fromstring(text)

print(ET._escape_attrib(root.text))
将xml.etree.ElementTree作为ET导入
text=''一些带有html i的记录标题这应该在转义的html/i中,标题的末尾
'''
root=ET.fromstring(文本)
打印(ET._escape_attrib(root.text))
这将输出带有html i的
一些记录标题,这应该在转义的html/i中,标题的末尾