Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何打印xpath匹配节点的代码?_Python_Xpath - Fatal编程技术网

Python 如何打印xpath匹配节点的代码?

Python 如何打印xpath匹配节点的代码?,python,xpath,Python,Xpath,如何打印与xpath匹配对应的全文,也就是说,当前节点及其所有子节点,正如它在源xml中显示的那样 从lxml.html.soupparser导入fromstring 字符串=“” p=fromstring(字符串) 对于p.xpath(“//path”)中的n: 打印(n) #期望的结果 您可以使用html.tostring(这里是元素)方法,如下所示 from lxml import html page = """<div><svg john=doe><pat

如何打印与xpath匹配对应的全文,也就是说,当前节点及其所有子节点,正如它在源xml中显示的那样

从lxml.html.soupparser导入fromstring
字符串=“”
p=fromstring(字符串)
对于p.xpath(“//path”)中的n:
打印(n)
#期望的结果

您可以使用
html.tostring(这里是元素)
方法,如下所示

from lxml import html
page = """<div><svg john=doe><path d="0"></path></svg></div>"""
tree = html.fromstring(page)
for n in tree.xpath('//path'):
    print(html.tostring(n))
从lxml导入html
页面=“”
tree=html.fromstring(第页)
对于tree.xpath('//path')中的n:
打印(html.tostring(n))
屏幕截图:


应该添加一条警告,即这不能保证是“在源XML中显示的”,只能是逻辑上等价的东西。例如,属性顺序可能不同,冗余名称空间声明可能消失,单引号可能被双引号替换,等等。