0

好的,我尝试进行一些网页抓取,我知道如何选择网站的一部分、段落、类……现在,是否可以选择文本,提取它并将其放在 HTML 之间。

例子:

This is first paragraph.
This is second paragraph.

我想把它当作一个要点列表。

<ul>
    <li>This is first paragraph</li>
    <li>This is second paragraph.</li>
</ul>

或者在 div 中

<div id="first">This is first paragraph</div> 
<div id="second">This is second paragraph.</div>
4

2 回答 2

0

您不能在 XPath 中创建 dom 元素,但可以进行一些字符串操作。

例如,如果您选择示例的 XPath 表达式是“//p[1]”和“//p[2]”,则可以创建如下列表:

concat(
"<ul>",
   "<li>", //p[1],  "</li>",
   "<li>", //p[2], "</li>",
"</ul>")

(假设段落文本不包含 < 或 & 等特殊字符)

还有 XQuery,它就像 XPath 的扩展,您可以在其中编写:

<ul>
    <li>{//p[1]}</li>
    <li>{//p[2]}</li>
</ul>

创建该html。

于 2012-11-15T17:48:26.990 回答
0

尝试使用函数 tokenize 然后使用 xsl:for-each; 你应该没问题。

检查http://www.w3schools.com/xpath/xpath_functions.asp#stringhttp://www.xml.com/lpt/a/1205

于 2012-11-15T17:53:08.633 回答