Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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_Xml_Xpath_Extract_Siblings - Fatal编程技术网

Python 使用xPath从父节点和子节点提取文本

Python 使用xPath从父节点和子节点提取文本,python,xml,xpath,extract,siblings,Python,Xml,Xpath,Extract,Siblings,如果XML文件中有这些标记: <a> Hello, I would like <b> to eat, please. </b> </a> 我使用//b[前面的兄弟姐妹::text()]获得了最接近的文本,但这会给我一个或另一个文本,而不是组合它们。 我不知道这是否重要,但我正在用python执行此操作,因此代码将是element.xpath('string(.//b[preference sibling::text()]))使用lxml。

如果XML文件中有这些标记:

<a> Hello, I would like 
   <b> to eat, please. </b>
</a>

我使用
//b[前面的兄弟姐妹::text()]
获得了最接近的文本,但这会给我一个或另一个文本,而不是组合它们。

我不知道这是否重要,但我正在用python执行此操作,因此代码将是
element.xpath('string(.//b[preference sibling::text()]))
使用lxml。

此xpath

normalize-space(/a)
将返回
a
元素的标准化空间

Hello, I would like to eat, please.

应要求。

谢谢!我将/a替换为。(即,规范化空间(.))这对我起了作用。
normalize-space(/a)
Hello, I would like to eat, please.