2012-03-28 8 views
0

は私が私がobjの構造は完全にXMLを一致さアクセスする要素

$content = mb_convert_encoding($content, "ASCII"); 
$obj = new SimpleXMLElement($content); 

を使用して、オブジェクトになってきましたその下のXML文字列を持っています。しかし、親の "set"ノードを持たない配列の配列を取得しようとすると、問題が発生します。 私は私がしなければ内部ここから

foreach($obj->group as $currentGroup) 
{ 

を行う$ currentGroup->サブテストの構造をが、私はその後、は、その下に0と1の番号とノードを設定参照設定し、その下に。 私の問題は、私がやろう、それをある$ currentGroup->セット - >設定(私は他の人のものの最初に自動的にセットし、どれを取得し、その後、親なしのセットの配列を取得しようとする。 enter image description here

<global> 
    <group name="bce"> 
     <sets> 
      <set name="a"> 
       <subsets> 
        <subset name="bla"/> 
        <subset name="bla2"/> 
        <subset name="bla3"/> 
       </subsets> 
      </set> 
      <set name="b" /> 
       <subsets> 
        <subset name="bla"/> 
        <subset name="bla2"/> 
        <subset name="bla3"/> 
       </subsets> 
      </set> 
      <set name="c" /> 
       <subsets> 
        <subset name="bla"/> 
        <subset name="bla2"/> 
        <subset name="bla3"/> 
       </subsets> 
      </set> 
      <set name="d" /> 
       <subsets> 
        <subset name="bla"/> 
        <subset name="bla2"/> 
        <subset name="bla3"/> 
       </subsets> 
      </set> 
     </subgroupones> 
    </group> 
    <group name="ert"> 
     <sets> 
      <set name="aa"> 
       <subsets> 
        <subset name="bla"/> 
        <subset name="bla2"/> 
        <subset name="bla3"/> 
       </subsets> 
      </set> 
      <set name="bb" /> 
       <subsets> 
        <subset name="bla"/> 
        <subset name="bla2"/> 
        <subset name="bla3"/> 
       </subsets> 
      </set> 
     </subgroupones> 
    </group> 
</global> 
+1

ようだ。それが問題だかどうかわからない。ただ、それに気づきましたまた、閉じたタグ ''にはオープンタグがありません。 – Gohn67

答えて

1

あなたが閉じ ``タグが欠落しているようなので、私は何かが欠けていない限り、$currentGroup->sets->children()べきか?の配列がノードを設定します。

+0

完全に感謝します。ために。同じ行から最初のノードを自動的に選択する方法はありますか? – user391986

+0

悲しいことに、PHPは、配列を返す関数から配列を参照解除することはできません。まず変数に値を格納する必要があります。詳細については、[この古いスレッド](http://marc.info/?l=php-general&m=120422624624319&w=2)を参照してください。しかし、あなたが望むのは、最初の要素であり、集合ではない場合、 '$ currentGroup-> sets-> set [0]'を使うだけです。 – quickshiftin

関連する問題