2016-11-25 13 views
0

は、私はそのようなXMLファイルがあります。SimpleXMLのアクセスデータ

<?xml version="1.0" encoding="UTF-8"?> 
<Data> 
<Items> 
    <Item Category="14" /> 
</Items> 
<Events> 
    <Event type="EventType"> 
     <Date>November 24, 2016</Date> 
    </Event> 
</Events> 
</Data> 

をそしてアイテム - >カテゴリに値「14」を取得したいです。

私はそのようにしようとした:

echo $xml->Items->Item[0]->{@attributes}['Category']; 

出力は空です。

私はちょうど行います

print_r($xml) 

私が手:

SimpleXMLElement Object ([Items] => SimpleXMLElement Object ([Item] => SimpleXMLElement Object ([@attributes] => Array ([Category] => 14))) [Events] => SimpleXMLElement Object ([Event] => SimpleXMLElement Object ([@attributes] => Array ([type] => EventType) [Date] => November 24, 2016))) 

は、次に私が試した:

$p = xml_parser_create(); 
xml_parse_into_struct($p, $xml, $vals, $index); 
xml_parser_free($p); 
echo "Index array\n"; 
print_r($index); 
echo "\nVals array\n"; 
print_r($vals); 

出力は次のとおりです。

Index array Array () Vals array Array () 

XMLはそのように開いている:

$file="test.xml"; 


if (file_exists($file)) { 
    $xml = simplexml_load_file($file); 
+0

ありがとうございました。出力は空です:-( – swapfile

+0

"Print_r($ xml-> Items-> Item [0] - > {@属性})"の出力は "SimpleXMLElement Object"です – swapfile

+0

このようなことを行います(1番目の例): - http://php.net/manual/en/function.xml-parse-into-struct.php –

答えて

0

あなたはそれが次のコードで取得することができます。

$xml = simplexml_load_file('folder/yourfile'); 
$xmlselect = $xml->Data; 

foreach($xmlselect AS $objekt) 
{ 
     $items = $objekt->Items->Item; 
     foreach ($items as $key) { 
      $itemId= $key->attributes(); 
     } 
} 

は、多分それはあなたを助けます!