我们知道 XPath 是为 XML 解析而创建的。既然 HTML5 不一定遵守 XML 规则,那它又如何呢?
问问题
2107 次
3 回答
7
有 2 个 XML:词法 XML 和解析 XML。XPath 适用于 Parsed XML 表示,例如 DOM 或XDM。因此,您可以从 Lexical HTML5 创建 Parsed XML,这样您就可以使用 XPath 查询 HTML5。
于 2013-07-14T18:37:40.720 回答
2
你可以有一个巨大的警告,除非你也有,否则你可能不应该这样做。
采用以下 HTML:
<div>
<p> Here is a paragraph
<p> Here is another, is it inside the first, who knows?
</div>
现在大多数 HTML 解析器都会接受上面的意思:
<div>
<p> Here is a paragraph </p>
<p> And another, is it inside the first, who knows? </p>
</div>
现在,XPath/div/p[2]
应该返回"And another..."
,但是它同样可以解释为:
<div>
<p> Here is a paragraph
<p> And another, is it inside the first, who knows? </p>
</p>
</div>
Where/div/p[2]
什么都不返回,XPath/div/p/p
返回"And another..."
.
HTML 不是 XML,不需要格式正确,因此将 XML 技术与 HTML 结合使用可能会导致特殊性。所以只要你承认那些你应该没问题。
于 2013-07-15T01:01:38.417 回答
1
XPath 用于查询 DOM,而不是解析标记。可以从 HTML 文档生成 DOM,因此您可以使用 XPath 查询它。
于 2013-07-14T18:23:22.073 回答