【发布时间】:2012-02-15 07:43:07
【问题描述】:
如何检索 article-field1 中的文本?
<title>Testing</title>
<link>http://example.org</link>
<description>Description</description>
<language>en-us</language>
<lastBuildDate>Mon, 13 Feb 2012 00:00:00 +0000</lastBuildDate>
<item>
<title>Title Here</title>
<link>http://example.org/2012/03/27/</link>
<description><![CDATA[
<div id="article-field1"><a href="http://example.org/test1">Test 1</a></div>
<div id="article-field2">123</div>
<pubDate>Tue, 2 Mar 2012 00:00:00 +0000</pubDate>
</item>
我试过了
//description/div[@id="article-field1"]/text()
有什么建议吗?
谢谢
【问题讨论】:
-
您发布了格式错误的 XML(
<![CDATA[没有相应的关闭标记),这可能与您尝试运行 XPath 的 XML 不同。如果这确实是您输入的 XML,那么难怪 XPath 不返回任何结果。此外,如果您的divs 在<![CDATA[块内,则无法获取特定的div,因为它们只是文本内容,而不是输入 XML 树的一部分。 -
我看不到您的 CDATA 部分在哪里结束。应该有两个右括号。实际上,该示例缺少第二个描述的一些结束标记。它只是格式不正确。请更正。
-
@shadow:最好的建议是从文档中删除
<![CDATA[——然后您的 XPath 表达式可能会在新文档中选择想要的节点。