gpt4 book ai didi

使用正则表达式的 Python XML 重建

转载 作者:数据小太阳 更新时间:2023-10-29 02:41:38 25 4
gpt4 key购买 nike

我有这个部分 XML

   string = ''' 
<x:root>
<x:tag1 x:anyAttrib="anyValue" x:anyAttrib="anyValue" x:anyAttrib="anyValue" />
<x:tag2 x:anyAttrib="anyValue" x:anyAttrib="anyValue" x:anyAttrib="anyValue">
someValue
</x:tag2>
<x:tag3> someValue
'''

现在我想“傻傻地”修复一下。我想到了一种方法 - 对所有开始元素和结束元素进行正则表达式 --> 检查缺少哪个元素并添加它。当然,不要涉及太多细节。到目前为止我得到的是(这不起作用):

import re
starts = re.compile('(?<=<)x:\w+(?=>)|(?<=<)x:\w+(?! .+ />)')
print(start.findall(string))

我期望的是 x:root 、 x:tag2 、 x:tag3 的列表

我一直在谷歌上搜索并尝试了很多,但找不到答案。我从这个表达式中得到的唯一东西是 x:root 、 x:tag1 、 x:tag3。

请帮忙

谢谢

最佳答案

BeautifulSoup也许能够修复它:

import BeautifulSoup

content = '''
<x:root>
<x:tag1 x:anyAttrib="anyValue" x:anyAttrib="anyValue" x:anyAttrib="anyValue" />
<x:tag2 x:anyAttrib="anyValue" x:anyAttrib="anyValue" x:anyAttrib="anyValue">
someValue
</x:tag2>
<x:tag3> someValue
'''

soup = BeautifulSoup.BeautifulStoneSoup(content)
print(soup.prettify())

产量

<x:root>
<x:tag1 x:anyattrib="anyValue" x:anyattrib="anyValue" x:anyattrib="anyValue">
<x:tag2 x:anyattrib="anyValue" x:anyattrib="anyValue" x:anyattrib="anyValue">
someValue
</x:tag2>
<x:tag3>
someValue
</x:tag3>
</x:tag1>
</x:root>

关于使用正则表达式的 Python XML 重建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13077638/

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