gpt4 book ai didi

python - 如何以字符串形式获取 XML 元素的内容?

转载 作者:太空宇宙 更新时间:2023-11-03 20:21:43 25 4
gpt4 key购买 nike

考虑这个 XML 示例:

<data>
<items>
<item name="item1">item1pre <bold>ok!</bold> item1post</item>
<item name="item2">item2</item>
</items>
</data>

我正在寻找一种方法来获得以下结果:

“item1pre **好的!** item1post”

我想将item1的所有内容作为字符串“item1pre <'bold> ok!<'/bold> item1post”,然后将“<'bold>”和“<'/bold>”替换为“* *”,但我不知道如何得到它。

最佳答案

xml="""
<data>
<items>
<item name="item1">item1pre<bold>ok!</bold>item1post</item>
<item name="item2">item2</item>
</items>
</data>
"""

import xml.etree.ElementTree as ET
# python included module

def cleaned_strings_from_xml(xml_str, tag='item'):
"""
finds all items of type tag from xml-string

:param xml_str: valid xml structure as string
:param tag: tag to search inside the xml
:returns: list of all texts of 'tag'-items
"""
strings = []
root = ET.fromstring(xml)
for item in root.iter(tag):
item_str = ET.tostring(item).decode('utf-8')
item_str = item_str.replace('<bold>', ' **').replace('</bold>', ' **')
strings.append(ET.fromstring(item_str).text)
return strings

print(cleaned_strings_from_xml(xml))

关于python - 如何以字符串形式获取 XML 元素的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58122291/

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