我尝试使用xpath在XML字符串(PHP simplexml)中选择与给定名称匹配的节点。但是,由于默认的名称空间,它不起作用。假设我正在使用从Internet下载的XML文件并且无法更改,那么该怎么做?
我已经查看了有关该问题的所有非常详细的论坛帖子(包括这篇Reference - how do I handle namespaces (tags and attributes with colon in) in SimpleXML?),但找不到我的问题的答案。
XML字符串:
<scrutin xmlns="http://url_here.com/x" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<id>1</id>
<numero>1</numero>
<individuals>
<group>
<resultFor>
<individual>345</individual>
<individual>568</individual>
</resultFor>
<resultAgainst>
<individual>567</individual>
<individual>687</individual>
</resultAgainst>
</group>
</individuals>
</scrutin>
我的简单PHP代码,带有xpath:
foreach($xml->xpath('individual') as $mp){
//code...
}
如上所述,我想访问XML字符串中的所有individual
。目前,由于默认的命名空间,我无法访问这些节点。唯一有效的xpath是xpath('.')
。
非常感谢。