def get_xml_path(xml, path=None, func=None):
# doc_tree = etree.fromstring(xml)
doc_tree = etree.fromstring(xml, parser=etree.XMLParser(huge_tree=True))if path:
result = get_xpath(doc_tree, path)elif func:
result = func(doc_tree)
else:
raise ValueError("'path' or 'func' is required.")return result
def get_xpath(doc_tree, path):
result = None
ret = doc_tree.xpath(path)if ret is not None:
if isinstance(ret, list):
if len(ret)>=1:
if hasattr(ret[0], "text"):
result = ret[0].text
else:
result = ret[0]
else:
result = ret
return result
案例:
from lxml import etree
xml = """
<root>
<ip>192.168.1.1</ip>
<ip>192.168.1.2</ip>
<ip>192.168.1.3</ip>
</root>
"""
tree = etree.fromstring(xml)
# 使用相对路径
ips = tree.findall(".//ip")
for ip_element in ips:
print(ip_element.text)
官网地址Download PyCharm: Python IDE for Professional Developers by JetBrains
下载的话无脑下载安装即可! 2018.2~2023版本用这个,最新的activation code码 2018.1以下版本用这个 老是审核不通过只能贴图片了(T-T)
云创科技11月28日拉斯维加斯报道,在一年一度的AWS re:Invent首日,AWS实用计算高级副总裁Peter DeSantis延续Monday Night Live的传统,发表主题演讲并分享了AWS数据库和分析产品组合中的3项Serverless创新,以帮助客户在任何规模下分…