我有一组html页面(通过它我没有任何控制),需要将li标记的完整内容作为包含空格的单个文本块来提取以及除li标签对以外的所有标记。我使用的HTML解析器的XPath 1.0(并且没有对这样的选择。)使用Xpath提取html标记的完整内容
输入HTML看起来像
[S1] First text here
Label:
More text
More text
Note:
GRO reference is Note text
.//*[@class='gs-source-item']让我我想要的文字,但与开放和关闭李标签。
.//*[@class='gs-source-item']//text()请将文本作为单独的元素(而不是单个元素)而不是内部标签。
string(.//*[@class='gs-source-item']//text())只让我看到第一行文字。
string-join(.//*[@class='gs-source-item']//text(),"")似乎并不是我正在使用的解析器的可接受语法,无论如何,我认为它仍然会去掉内部标签。
.//*[@class='gs-source-item']//node()得到我所有的文本和标签,但不是作为一个单独的块。
我已经用尽想法尝试...我已经看过相关的问题,但没有找到任何帮助(除了我上面列出的想法)。
+0
尝试'/ * * [@ class ='gs-source-item']/*' - 这会返回列表中元素的集合。 –
+0
@tomredfern返回内部标签的内容,但不是顶级文本。 –
+0
抱歉,我会在下次正确阅读您的问题。 –