我有以下XML結構:解析XML與PHP冒號屬性
<entry>
<id im:id="595831580">blabla</id>
</entry>
現在我想解析ID 595831580.
我想:
$idAtt = $xml->entry->id;
$id = $idAtt->attributes();
$id2 = $id['im:id'];
但這不起作用:(
我該如何解決它?
我有以下XML結構:解析XML與PHP冒號屬性
<entry>
<id im:id="595831580">blabla</id>
</entry>
現在我想解析ID 595831580.
我想:
$idAtt = $xml->entry->id;
$id = $idAtt->attributes();
$id2 = $id['im:id'];
但這不起作用:(
我該如何解決它?
不知道但可能是這樣的
$attr = $xml->id[0]->attributes();
echo $attr['im:id'];
好的。
你不能在SimpleXMLElement
offsetGet
方法使用命名空間,但是你可以在attributes
方法:
echo $xml->entry->id->attributes("im",TRUE)->id;
退房this comment多一個演示。
謝謝,完美的解決方案! – Flappy 2017-02-20 21:16:13
如果xml是一個字符串,你'simplexml_load_string();'它,要轉換爲一個對象嗎? var_dump($ xml);'show? – Waygood 2013-03-21 11:30:53
你必須用XML解析器解析XML,並創建一個對象,甚至有希望解析它;告訴我們你正在使用的是什麼 – Amelia 2013-03-21 11:30:58
你首先需要在訪問屬性之前註冊命名空間「im'。 – 2013-03-21 11:34:37