Xpath选择文本并给出子弹列表html

时间:2012-11-15 17:13:49

标签: html xpath web-scraping

好的我尝试做一些网页抓取,我知道如何选择部分网站,段落,类...... 现在,是否可以选择文本,提取文本并将其放在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>

2 个答案:

答案 0 :(得分:0)

你不能在XPath中创建一个dom元素,但你可以做一些字符串操作。

E.g。如果您选择示例的XPath表达式为'// p [1]'和'// p [2]',则可以创建如下列表:

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

(假设段落文本不包含特殊字符,例如&lt;或&amp;)

还有XQuery,它就像XPath的扩展,你可以写:

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

创建那个html。

答案 1 :(得分:0)

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

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