2016-08-19 112 views
0

我有一個像下面一個xml,PHP的SimpleXML讀取子標籤屬性

<y> 
<n> 
    <n id='test1'></n> 
    <n id='test2'></n> 
</n> 
</y> 

,並希望每個孩子閱讀的「ID」,「N」標記。

我使用這個php代碼;

$xml = simplexml_load_file("my.xml"); 
echo $xml->n[0]->n; 

,但得到的錯誤,

試圖讓非對象的屬性

回答

2

它應該是:$xml->n->n[0]這是一個數組。如果您print_r($xml)你可能會看到這樣的:

SimpleXMLElement Object 
(
    [n] => SimpleXMLElement Object 
    (
     [n] => Array 
      (
       [0] => SimpleXMLElement Object 
        (
         [@attributes] => Array 
          (
           [id] => test1 
          ) 

        ) 

       [1] => SimpleXMLElement Object 
        (
         [@attributes] => Array 
          (
           [id] => test2 
          ) 

        ) 

      ) 

    ) 

) 
+1

...不要忘了'id'是一個節點的屬性,而不是節點值,所以你需要像這樣取,'回聲$ XML的> N-> N [0] [ 'ID']'。 –

+0

它的工作原理,謝謝 – user6618536