的根 xml 元素-6ren"> 的根 xml 元素-我正在解析一个 XML 文件,我希望根元素为 .但是,一些用户修改了这些文件并添加了元素 在顶部。我想检查一下是否存在,然后让我的测试失败以通知用户这个问题。我尝试执行以下操作,但它一直在检测 的-6ren">
gpt4 book ai didi

python - 如何使用 Python 和 ElementTree 检测 的根 xml 元素

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

我正在解析一个 XML 文件,我希望根元素为 <data> .但是,一些用户修改了这些文件并添加了元素 <?xml version="1.0" encoding="UTF-8"?>在顶部。我想检查一下是否存在,然后让我的测试失败以通知用户这个问题。我尝试执行以下操作,但它一直在检测 <data> 的正确根元素.这是我目前所拥有的。

<?xml version="1.0" encoding="UTF-8"?>
<data>
</data>

elementTree = self.param2
root = elementTree.find('.')

print root.tag

我打印出来的是:

data 

(这不是我所期望的)。

如有任何想法,我们将不胜感激!

最佳答案

如果您使用适当的 XML API,例如 xml.domElementTree,您在处理 XML 声明时应该没有任何问题 .但是,如果您仍然坚持删除声明,请尝试以下操作:

from xml.dom import minidom

def remove_xml_declaration(xml_text):
doc = minidom.parseString(xml_text)
root = doc.documentElement
xml_text_without_declaration = root.toxml(doc.encoding)
return xml_text_without_declaration

#
# Test
#

xml_text = '''<?xml version="1.0" encoding="UTF-8"?>
<data>
</data>
'''

# Remove declaration
xml_text = remove_xml_declaration(xml_text)
print xml_text
print '---'

# Remove declaration, event if it is not there
xml_text = remove_xml_declaration(xml_text)
print xml_text
print '---'

关于python - 如何使用 Python 和 ElementTree 检测 <?xml version ="1.0"encoding ="UTF-8"?> 的根 xml 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21947632/

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