
那么,如果不远程客户电脑,客户发来xml文件,我们能否根据已有的xml文件来验证xpath表达式呢?
那就需要用python来解决了。
from lxml import etree
from html import unescape
import xml.etree.ElementTree as ET
def extract_xml_info(filepath,xpath_expression):
parser = etree.HTMLParser(encoding="utf-8")
e=etree.parse(filepath,parser)
elementsList=e.xpath(xpath_expression)
print(elementsList)
#打印相似元素个数
print(len(elementsList))
# 提取并打印元素内容
for element in elementsList:
outer_html = etree.tostring(element, encoding='utf-8').decode('utf-8')
decoded_str = unescape(outer_html)
#打印元素源码
print(decoded_str)
# 解析XML字符串
root = ET.fromstring(decoded_str)
# 获取元素属性值
element_attribute_value = root.attrib['text']
print(element_attribute_value) # 输出: 销量优先
# 示例调用
xpath_expr = "//*[contains(@text,'优先')]"
extract_xml_info('D:\desktop\饿了么.xml', xpath_expr)