这个问题旨在作为回答一个特别常见的问题的参考,这个问题可能有不同的形式:
如果您的问题已作为此问题的副本关闭,则可能与这些示例不同,但此页面应告诉您需要了解的内容.
这是一个说明性的例子:
$xml = '
<?xml version="1.0" encoding="utf-8"?>
<document xmlns="http://example.com" xmlns:ns2="https://namespaces.example.org/two" xmlns:seq="urn:example:sequences">
<list type="short">
<ns2:item seq:position="1">A thing</ns2:item>
<ns2:item seq:position="2">Another thing</ns2:item>
</list>
</document>
';
$sx = simplexml_load_string($xml);
Run Code Online (Sandbox Code Playgroud)
这段代码不起作用 ; 为什么不?
foreach ( $sx->list->ns2:item as $item ) {
echo 'Position: ' . $item['seq:position'] . "\n";
echo 'Item: ' . (string)$item . "\n";
}
Run Code Online (Sandbox Code Playgroud)
第一个问题是->ns2:item语法无效; 但将其更改为此也不起作用:
foreach ( $sx->list->{'ns2:item'} as $item ) { ... }
Run Code Online (Sandbox Code Playgroud)
为什么不呢,你应该用什么呢?