質問編集履歴

2 コードの修正

ssmxgo

ssmxgo score 168

2015/03/04 17:34  投稿

XMLのルールのルールについて
XMLのPHPでパースを行っていて気がついたのですが、[array2xml](http://www.bin-co.com/php/scripts/xml2array/)という関数を使っていましたが、最初はこれのバグかと思いましたがどうもXMLの構造の仕様なのかな?と感じるところがありましてお聞きいたします。
※書き方や言葉の問題は初心者ゆえお許しくださいまし
例えば3レコードある著者の場合はこのような配列に変換されます
```lang-<ここに言語を入力>
root{
 [0]
   author{
     value='太郎'
 }
   }
 [1]
   author{
     value='次郎'
   }
 [2]
   author{
     value='三郎'
   }
}
```
次に位置レコードのデータを読み込むと
```lang-<ここに言語を入力>
root{
 [0]
   author{
     value='太郎'
   }
}
```
とはならず、
```lang-<ここに言語を入力>
root{
 author{
   value='太郎'
 }
}
```
というように添字?インデックス?が省略され階層も下げられます。
この関数の問題かと思っていましたが、扱っているうちにphp付属の関数(なんだか忘れました)を利用した時や、あるいは扱うXMLでも1レコードに対するもので添字を見たこと無いので…、これはもしかして①仕様なのでしょうか?
そしてみなさんはXMLを取り込んで配列化するとき、②該当する項目に添字があるかか判定し配列でない場合は[0]として添字を割り当てるのでしょうか?
意味がわからなかったらごめんなさいっていうか、スルーしてください
  • XML

    1144 questions

    XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

  • XMLパーサ

    55 questions

    XML文書のテキストデータだけを抜き出して、アプリケーションソフトが利用しやすい形式に変換させるソフトウェアをXMLパーサと呼びます。

1 コードの修正

ssmxgo

ssmxgo score 168

2015/03/04 17:34  投稿

XMLのルールのルールについて
XMLのPHPでパースを行っていて気がついたのですが、[array2xml](http://www.bin-co.com/php/scripts/xml2array/)という関数を使っていましたが、最初はこれのバグかと思いましたがどうもXMLの構造の仕様なのかな?と感じるところがありましてお聞きいたします。
※書き方や言葉の問題は初心者ゆえお許しくださいまし
例えば3レコードある著者の場合はこのような配列に変換されます
```lang-<ここに言語を入力>
root{
 [0]
   author{
     value='太郎'
 }
 [1]
   author{
     value='次郎'
 }
   }
 [2]
   author{
     value='三郎'
 }
   }
}
```
次に位置レコードのデータを読み込むと
```lang-<ここに言語を入力>
root{
 [0]
   author{
     value='太郎'
 }
   }
}
```
とはならず、
```lang-<ここに言語を入力>
root{
 author{
   value='太郎'
 }
}
```
というように添字?インデックス?が省略され階層も下げられます。
この関数の問題かと思っていましたが、扱っているうちにphp付属の関数(なんだか忘れました)を利用した時や、あるいは扱うXMLでも1レコードに対するもので添字を見たこと無いので…、これはもしかして①仕様なのでしょうか?
そしてみなさんはXMLを取り込んで配列化するとき、②該当する項目に添字があるかか判定し配列でない場合は[0]として添字を割り当てるのでしょうか?
意味がわからなかったらごめんなさいっていうか、スルーしてください
  • XML

    1144 questions

    XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

  • XMLパーサ

    55 questions

    XML文書のテキストデータだけを抜き出して、アプリケーションソフトが利用しやすい形式に変換させるソフトウェアをXMLパーサと呼びます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る