gpt4 book ai didi

python - 使用 lxml lib 读取 xml 从 xmlns 标记中获取奇怪的字符串

转载 作者:太空宇宙 更新时间:2023-11-03 14:40:13 36 4
gpt4 key购买 nike

我正在编写程序来处理 xml 文件并更改它。但是当我尝试到达其中的任何部分时,我会得到一些额外的部分。

我的 xml 文件:

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>sbaa__ApprovalChain__c.ExternalID__c</members>
<members>sbaa__ApprovalCondition__c.ExternalID__c</members>
<members>sbaa__ApprovalRule__c.ExternalID__c</members>
<name>CustomField</name>
</types>
<version>40.0</version>
</Package>

我有我的代码:

from lxml import etree
import sys

tree = etree.parse('package.xml')
root = tree.getroot()
print( root[0][0].tag )

作为输出,我希望看到成员,但我得到的是这样的结果:

{http://soap.sforce.com/2006/04/metadata}members

为什么我会看到该网址以及如何阻止它显示?

最佳答案

您已定义默认命名空间( Wikipedialxml tutorial )。定义后,它是每个子标签的一部分。

如果你想打印没有命名空间的标签,很简单

tag = root[0][0].tag
print(tag[tag.find('}')+1:])

如果您想从 XML 中删除命名空间,请参阅 this question .

关于python - 使用 lxml lib 读取 xml 从 xmlns 标记中获取奇怪的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46601678/

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