下記のようなattributeが複数個ある場合(Groupが複数個ある場合)のxmlファイルの場合、
xml
1<?xml version="1.0" encoding="UTF-8"?> 2<XmlDatas> 3 <Group No="1"> 4 <ID>1001</ID> 5 <Date>20210306</Date> 6 <Name>あいうえお</Name> 7 </Group> 8 <Group No="2"> 9 <ID>1002</ID> 10 <Date>20210306</Date> 11 <Name>かきくけこ</Name> 12 </Group> 13</XmlDatas>
simplexml_load_fileでSimpleXMLElement型に変換をすると、下記のような結果となります。
Groupの中に2つの要素からなる配列となり、その中にデータの連想配列のような形で入りました。
object(SimpleXMLElement)#1 (1) { ["Group"]=> array(2) { [0]=> object(SimpleXMLElement)#2 (4) { ["@attributes"]=> array(1) { ["No"]=> string(1) "1" } ["ID"]=> string(4) "1001" ["Date"]=> string(8) "20210306" ["Name"]=> string(15) "あいうえお" } [1]=> object(SimpleXMLElement)#3 (4) { ["@attributes"]=> array(1) { ["No"]=> string(1) "2" } ["ID"]=> string(4) "1002" ["Date"]=> string(8) "20210306" ["Name"]=> string(15) "かきくけこ" } } }
ただ、下記のようなattributeが1個の場合(Groupが1個の場合)のxmlファイルの場合、
XML
1<?xml version="1.0" encoding="UTF-8"?> 2<XmlDatas> 3 <Group No="1"> 4 <ID>1001</ID> 5 <Date>20210306</Date> 6 <Name>あいうえお</Name> 7 </Group> 8</XmlDatas>
simplexml_load_fileでSimpleXMLElement型に変換をすると、下記のような結果となり、
Groupの中にデータの連想配列がそのまま入るような形となりました。
object(SimpleXMLElement)#1 (1) { ["Group"]=> object(SimpleXMLElement)#2 (4) { ["@attributes"]=> array(1) { ["No"]=> string(1) "1" } ["ID"]=> string(4) "1001" ["Date"]=> string(8) "20210306" ["Name"]=> string(15) "あいうえお" } }
これを、下記のようにGroupが複数個ある場合のような結果とするにはどのような対応をすればいいかで困ってます。
object(SimpleXMLElement)#1 (1) { ["Group"]=> array(1) { [0]=> object(SimpleXMLElement)#2 (4) { ["@attributes"]=> array(1) { ["No"]=> string(1) "1" } ["ID"]=> string(4) "1001" ["Date"]=> string(8) "20210306" ["Name"]=> string(15) "あいうえお" } } }
ご教授いただければと思います。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/02/22 07:59