使用PHP,我使用XSLTProcessor::transformToDoc()
将XML文档转换为另一个XML文档(类型为DOMDocument
。)
我想在此getElementById()
上调用DOMDocument
,但它不知道要查看哪个属性。我似乎必须以某种方式告诉它“id”属性是包含每个元素ID的属性。
DOMDocument::validate()
,我无法设置DOMDocument::validateOnParse
,因为DOMDocument
实例在转换完成之前不存在,到那时为时已晚,我无法调用DOMElement::setIdAttribute()
,因为我必须手动浏览每个元素才能执行此操作。
有没有办法可以轻松地在PHP的XSLT转换输出上调用getElementById()
?
答案 0 :(得分:0)
一种可行的解决方案(不确定效率)是使用XPath代替:
$xp = new DOMXPath($xml);
$nodes = $xp->evaluate('//*[@id="blah"]');
$node = $nodes->item(0);