引用-如何處理SimpleXML中的命名空間(帶有冒號(hào)的標(biāo)記和屬性)?這個(gè)問(wèn)題的目的是為了回答一個(gè)特別常見(jiàn)的問(wèn)題,這個(gè)問(wèn)題可以采取不同的形式:我有一個(gè)包含多個(gè)名稱空間的XML文檔;如何使用SimpleXML解析它?我的XML在標(biāo)簽名中有一個(gè)冒號(hào)(“:”),如何使用SimpleXML訪問(wèn)它?當(dāng)XML文件的名稱中有冒號(hào)時(shí),如何訪問(wèn)XML文件中的屬性?如果您的問(wèn)題已經(jīng)結(jié)束,作為一個(gè)副本,它可能不是相同的這些例子,但這一頁(yè)應(yīng)該告訴你什么是你需要知道的。下面是一個(gè)說(shuō)明性的例子:$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);這段代碼不起作用為什么不呢?foreach ( $sx->list->ns2:item as $item ) {
echo 'Position: ' . $item['seq:position'] . "\n";
echo 'Item: ' . (string)$item . "\n";}第一個(gè)問(wèn)題是->ns2:item是無(wú)效語(yǔ)法,但將其更改為也不起作用:foreach ( $sx->list->{'ns2:item'} as $item ) { ... }為什么不呢,你應(yīng)該用什么代替呢?
- 1 回答
- 0 關(guān)注
- 604 瀏覽
添加回答
舉報(bào)
0/150
提交
取消