XMLまとめ
XMLの構成
XMLは要素(Element)と属性(Attribute)で構成される。
要素値の呼ばれ方はコンテンツとかプロパティとかあるけど、ここでは以下の呼び名で統一する。
- 要素値を持つもの
<要素名 属性名="属性値">要素値</要素名> <ElementName AttributeName="AttributeValue">ElementValue</ElementName>
- 要素値を持たないもの
<要素名 属性名="属性値"/> <ElementName AttributeName="AttributeValue"/>
属性はなくても構わないが、属性名のみは持てない
<要素名/>←これはOK <要素名 属性名/>←これはNG
AS3のXML
XML型とXMLList型二つを使って操作する。
ごっちゃになりやすいので注意。
xml.Chapter[i] == xml.child("Chapter")[i] == xml.children()[i] == XML型
xml.Chapter == xml.child("Chapter") == XMLList型
要素 Element
//XMLの持つ、指定した要素名のリスト xml.child("要素名") //XMLの持つ要素のリスト xml.children() //XMLの持つ要素の数 xml.children().length() //XMLの持つi番目の要素の要素値 xml.children()[i] //XMLの持つi番目の要素の要素名 xml.children()[i].name() //指定XMLに指定名の要素があるか? xml.hasOwnProperty(name:String):Boolean; //書くならこう private function IsExistElements(xml:XML, name:String):Boolean{ //XMLの持つ要素数 var len:int = xml.children().length; //全ての要素の名前を調べる for(var i:int = 0 ; i < len ; i++){ //一致する要素名を発見したらtrue if(xml.children[i].name() == name){ return true; } } //一致する名前がなかったらfalse return false }
属性 Attribute
//XMLの持つ、指定した属性名のリスト xml.attribute("名前") //XMLの持つ属性のリスト xml.attributes() //XMLの持つ属性の数 xml.attributes().length() //XMLの持つi番目の属性の属性値 xml.attributes()[i] //XMLの持つi番目の属性の属性名 xml.attributes()[i].name() //指定XMLに指定名の属性があるか? //属性にはなぜかhasOwnPropertyに相当するものがないので自分で書く private function IsExistAttribute(xml:XML, name:String):Boolean{ //XMLの持つ属性の数 var len:int = xml.attributes().length(); //全ての属性の名前を調べる for(var i:int = 0 ; i < len ; i++){ //一致する属性名を発見したらtrue if(xml.attributes()[i].name() == name){ return true; } } //一致する名前がなかったらfalse return false }
- 参考
XMLの構造XMLの基本
http://www.techscore.com/tech/XML/Basic/2_1.html
Extendsible Markup Language - Wikipedia
http://ja.wikipedia.org/wiki/XML