""" test.xml
<xyz>
<pqr>
<abc><a href="data:text/html;charset=utf-8,base64,JTNjc2NyaXB0JTNlYWxlcnQoIlhTUyIpO2hpc3RvcnkuYmFjaygpOyUzYy9zY3JpcHQlM2UiPjwvYT4=</abc>
</pqr>
<pqr>
<abc><iframe src="data:text/html;charset=utf-8,base64,JTNjc2NyaXB0JTNlYWxlcnQoIlhTUyIpO2hpc3RvcnkuYmFjaygpOyUzYy9zY3JpcHQlM2UiPjwv</abc>
</pqr>
<xyz>
""""
当我使用这个XML文件并在python中解析时,它会显示错误(格式不正确)。如何解析此xml文件或任何其他方法以从此文件中获取数据。
答案 0 :(得分:2)
您可以先更改xml并使用cdata包含格式不正确的xml
示例:
<xyz>
<pqr>
<abc><![CDATA[<a href="data:text/html;charset=utf-8,base64,JTNjc2NyaXB0JTNlYWxlcnQoIlhTUyIpO2hpc3RvcnkuYmFjaygpOyUzYy9zY3JpcHQlM2UiPjwvYT4=]]></abc>
</pqr>
<pqr>
<abc><![CDATA[<iframe src="data:text/html;charset=utf-8,base64,JTNjc2NyaXB0JTNlYWxlcnQoIlhTUyIpO2hpc3RvcnkuYmFjaygpOyUzYy9zY3JpcHQlM2UiPjwv]]></abc>
</pqr>
<xyz>
请参阅:http://www.w3schools.com/xml/xml_cdata.asp
在此之后你可以使用python xml解析器
答案 1 :(得分:1)
<xyz>
标记不平衡(有两个开始标记)且test.xml
行是虚假的。您的<a>
代码未关闭且未引用href
属性。与您的iframe代码相同。您正在使用的解析器应该告诉您它遇到错误的位置。修复它,然后你会很高兴。
如果要解析 xml ,首先必须确保它是well formed XML。通常情况下,可以进行一些按摩来制作一个形状良好的无法解析的片段,以便您可以使用标准的解析器。
答案 2 :(得分:0)
对您的XML片段进行快速目视检查,我发现了两件事:您的XML格式不正确:
<xyz>
元素缺少斜线:它应该是</xyz>
<a>
和<iframe>
元素也未关闭。