Php 选择注释代码的Xpath

Php 选择注释代码的Xpath,php,html,xpath,Php,Html,Xpath,我有一个xpath查询: descendant-or-self::link 这个html代码: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <link rel="stylesheet" type="text/css" href="css/style.css"&g

我有一个xpath查询:

descendant-or-self::link
这个html代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="css/style.css">
<link rel="stylesheet" type="text/css" href="css/elements.css">
<title>Page</title>
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="css/ie6.css" />
<![endif]-->
</head>
etc...

页
等
我需要向该查询添加什么才能使其与注释的
匹配

这是这个问题的继续: 使用并集运算符“|”:

后代或自我::link |/*/comment()


这将返回注释的文本,即使它包含类似于标记的文本,也不能用于进一步的解析。它只是一个字符串,因此必须将其视为一个字符串。

在XPath 1.0中,使用适当的XHTML:

/xhtml:html/xhtml:head/xhtml:link|
/xhtml:html/xhtml:head/comment()[contains(.,'link')]
对于不处理名称空间的DOM提供程序:

/html/head/link|
/html/head/comment()[contains(.,'link')]
此外:


好的,我可以把它当作一个普通的节点来处理,还是只返回一个文本值?@Franky Chanyau:它返回两个
link
元素和一个注释节点。然后可以操作注释字符串值。
/html/head/node()[self::link or self::comment()[contains(.,'link')]]