我在一个类中使用了一个内部 domDocument $this->doc->dom
,我认为这没关系,因为它$this->doc->dom->saveXML()
可以工作,并显示我的 XML,比如
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<title>04</title>
<link href="css/04.css" rel="stylesheet" type="text/css"/>
</head>
...
当我使用
$xpath = new DOMXpath($this->doc->dom);
$elements = $xpath->query('//link');
没有报告错误......但是,没有元素(!),
print $elements->length;
显示 0(零)。这就是问题所在,对我来说是一个 DomDocument BUG:<link ../>
元素就在那里!
编辑以添加更多线索...
当我用getElementsByTagName()
它做类似的事情时(!),所以$this->doc->dom
.
$test = $this->doc->dom->getElementsByTagName('link');
print $test->length; // OK, not zero, returns 1!