在 php 中读取带有 simpleXML 的 xml 元素,其名称包含:
Read xml element with simpleXML in php with name which contain :
我在 PHP 中使用 SimpleXML,我尝试解析 xml 文件,其中包含 : 在元素名称中,如下所示:
<url>
<url1> url </url>
<data:data> some data </data:data>
</url>
主要问题是我无法解析具有这样名称 (<data:data>
) 的元素,我尝试了 $xml->url->{'data:data'};
但没有任何效果。当我试图用
找出所有 <ulr>
childred 时
foreach ($url->children() as $key ) {
echo $key->getName() ;
}
我只有一个 child,任何人都可以帮助我如何解析名称中的 xml whith : 。
我尝试将 <data:data>
更改为 <data-data>
然后 {'data-data'}
起作用了,但是这个 insnt 解决方案对我来说
XML中包含“:”的名称被认为是需要定义的命名空间。
直接来自 SimpleXMLElement::children
示例 #2 的 docs。
$xml = '<example xmlns:foo="my.foo.urn">
<foo:a>Apple</foo:a>
<foo:b>Banana</foo:b>
<c>Cherry</c>
</example>';
$sxe = new SimpleXMLElement($xml);
$kids = $sxe->children('foo');
var_dump(count($kids));
我在 PHP 中使用 SimpleXML,我尝试解析 xml 文件,其中包含 : 在元素名称中,如下所示:
<url>
<url1> url </url>
<data:data> some data </data:data>
</url>
主要问题是我无法解析具有这样名称 (<data:data>
) 的元素,我尝试了 $xml->url->{'data:data'};
但没有任何效果。当我试图用
<ulr>
childred 时
foreach ($url->children() as $key ) {
echo $key->getName() ;
}
我只有一个 child,任何人都可以帮助我如何解析名称中的 xml whith : 。
我尝试将 <data:data>
更改为 <data-data>
然后 {'data-data'}
起作用了,但是这个 insnt 解决方案对我来说
XML中包含“:”的名称被认为是需要定义的命名空间。
直接来自 SimpleXMLElement::children
示例 #2 的 docs。
$xml = '<example xmlns:foo="my.foo.urn">
<foo:a>Apple</foo:a>
<foo:b>Banana</foo:b>
<c>Cherry</c>
</example>';
$sxe = new SimpleXMLElement($xml);
$kids = $sxe->children('foo');
var_dump(count($kids));