2014-09-02 80 views
0

对不起这个问题,也许somwhere在这里StackOverflow的是回答我的问题,但有一种方法,我的XML文件转换为二维PHP数组,并保持XML节点在第二维度属性(有什么像这样:$颜色[ '2'] [ '恩']我的意思是$颜色[colorid] [郎咸平])? P.S对不起我的英文不好,这isn`t我的母语。 这是我的xml文件:使用simplexml_load_file到二维数组

<?xml version="1.0" encoding="UTF-8"?> 
<Colors> 
    <Color id="1"> 
     <Name lang="lv" default="true">Sudraba</Name> 
     <Name lang="en">Silver</Name> 
     <Name lang="ru">Серебро</Name> 
    </Color> 
    <Color id="2"> 
     <Name lang="lv" default="true">Sarkans</Name> 
     <Name lang="en">Red</Name> 
    </Color> 
    <Color id="3"> 
     <Name lang="lv" default="true">Melns</Name> 
    </Color> 
</Colors> 

回答

0

这是工作示例。如果您选择$ sxml->颜色[0],这个方法是选择XML文档中的第一色要素,但如果你选择这样$ sxml->颜色[“0”],它是由元素的属性选择。对不起,我的英语,这不是我的母语太:)。

<?php 

    $sxml = simplexml_load_string('<?xml version="1.0" encoding="UTF-8"?> 
    <Colors> 
     <Color id="1"> 
      <Name lang="lv" default="true">Sudraba</Name> 
      <Name lang="en">Silver</Name> 
      <Name lang="ru">Серебро</Name> 
     </Color> 
     <Color id="2"> 
      <Name lang="lv" default="true">Sarkans</Name> 
      <Name lang="en">Red</Name> 
     </Color> 
     <Color id="3"> 
      <Name lang="lv" default="true">Melns</Name> 
     </Color> 
    </Colors>'); 

    echo $sxml->Color["1"]->Name[0]; 



    ?> 
+0

对不起,但我需要转换为阵列:( – Lucian 2014-09-02 17:17:20