我需要获取以下列表:
https://support.content.office.net/en-us/static/O365IPAddresses.xml
有一个名为Identity的产品,我需要获取它下面的IPv4地址列表。是否可以选择'该元素并将其粘贴在Python数组中?如果这是JSON它现在已经完成了,我试图将doc转换为JSON,但是我这样做的常用模块并不喜欢它。
我所见过的所有教程都提到了在root上循环,但在JSON中我只选择了我想要的数据,当然有一种方法可以用XML做到这一点吗?我使用xml.etree.ElementTree
。
答案 0 :(得分:0)
xml.etree.ElementTree
有一个(有限的)XPath表达式支持,应该足以满足您的需求。假设您已在Element
命名树(tree = xml.ElementTree.tree.parse(fd)
)中加载了xml数据,则可以使用findall
提取所有相关标记,并findtext
从中提取文本标签。所以这应该足够了:
addrlist = [ ad.findtext(".") for ad in tree.findall(
"./product[@name='Identity']/addresslist[@type='IPv4']/address") ]