gpt4 book ai didi

c++ - 如何修复重叠的 XML?

转载 作者:行者123 更新时间:2023-11-27 23:23:52 25 4
gpt4 key购买 nike

我有一个问题。我正在对 XML 代码进行一些更改,但有时它会重叠,例如:

<xref><mytag></xref></mytag>

我正在考虑将解析 XML 文件并解决该问题的脚本,例如:

<xref><mytag></mytag></xref><mytag></mytag>

有人可以帮我吗?也许一些正则表达式?或者一些随时可用的工具,python 脚本等。我有很多文件要修复,我将不胜感激每一个建议!s

最佳答案

使用lxml ;该库可以通过设置 recover 标志来尝试解析您的无效 XML 并清除它:

>>> from lxml import etree
>>> from StringIO import StringIO
>>> ex = '<xref><mytag>there is some text</xref></mytag>'
>>> parser = etree.XMLParser(recover=True)
>>> tree = etree.parse(StringIO(ex), parser)
>>> etree.tostring(tree.getroot())
'<xref><mytag>there is some text</mytag></xref>'

关于c++ - 如何修复重叠的 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10785688/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com