dongshushi5579 2013-07-17 14:30
浏览 42
已采纳

PHP / CodeIgniter获取唯一XML节点名称的数组

I have an XML like this

<items>
  <item>
    <name>A</name>
    <phone>1111111</phone>
  </item>
  <item>
    <name>B</name>
    <phone>2222222</phone>
  </item>
</items>

How can I get the unique nodeNames into an array, like array("name","phone");

  • 写回答

1条回答 默认 最新

  • doumo6356 2013-07-17 15:45
    关注
    $xml = '<items>
      <item>
        <name>A</name>
        <phone>1111111</phone>
      </item>
      <item>
        <name>B</name>
        <phone>2222222</phone>
      </item>
    </items>';
    $obj = new SimpleXMLElement($xml);
    $arr = json_decode(json_encode($obj), TRUE);
    $arr = $arr['item'];
    var_dump($arr);
    

    Output:

     Array
    (
        [0] => Array
            (
                [name] => A
                [phone] => 1111111
            )
    
        [1] => Array
            (
                [name] => B
                [phone] => 2222222
            )
    )
    

    If you want to get the array keys, you can do this:

    $keys = array_keys($arr[0]);
    var_dump($keys);
    

    Output:

    Array
    (
        [0] => name
        [1] => phone
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?