1日中歩いてたので、背中バキバキでした。ブースで貰った布袋がいい感じです。普段遣い出来そうだし。そんなわけで(どんなわけだ!)、今回はAdobeのjavascript(ESTK)でのXML操作のソースコードです。XMLとか好きで、いろいろ属性とか書き方もあって便利ですよね。前にもこういう記事書いたことあるし(そんなセッションな...)。私自身が【.net】(Linq)や【jQuery】とかイロイロな言語を使うので記述方式を忘れがちなんですよ。ESTKの分はここでまとめちゃいます。自分で見やすいようにしないとね。使用するサンプルとりあえず使用するサンプルのxmlはこんな感じです。position="アパッチ"><name>ジェロニモ</name></human></xml>例によって超人データです。最近は要素内要素より属性値に記述する方が便利だと個人的には思うわけですよ。サンプルなので要素内要素もあります。ちなみに人間状態のジェロニモもいますがあとで出てきますので、、、。XML読み込みまずは何はともあれ読み込みです。いうものは使いやすいように関数にします。XML(src));//文字列をXMLにパースして返す}とまぁこんな感じです、変数XElementに代入しています、フツーですね。ポイントは文字コードをUTF-8に指定するところでしょうか?指定しないと、正しく読み込めなかったことがありましたので指定するようにしてます。要素や属性の取り出し要素内容を決め打ちで取り出しまずは要素名が分かっているときは直接指定できます。1つ目を指定しています。]で囲んで指定します。3つ目を指定しています。mans="superman"alert(XElement[mans][2].name)結果:アシュラマン属性値を決め打ちで取り出しまずは属性名が分かっているときは【.@】の後に【属性名】で直接指定できます。1つ目を指定しています。)】で囲んで指定します。3つ目を指定しています。mans="superman",type="position"alert(XElement[mans][2].attribute(type))結果:悪魔六騎士ちなみに【attribute】ではなく【attributes】にすると指定関係なく全部行っちゃいます。要素内容の変更はそのままです(nameタグを変更)。要素内容の削除は頭に【delete】を使用します(nameタグを削除)。true属性の削除も同じ使い方です。position='完璧無量大数軍'><name>ネメシス</name></superman>")XElement.superman+=newSuperManちなみに公式の【javascript_tools_guide】には追加するときは関数が便利だよ!書いてありますので(多分...)、超人用に作ってみました。}ってこういう風にも使えるのか...ループカウンタで処理for文で回して処理。ロビンマスクキン肉マンネプチューンマンはたまた正規表現を使ったりもできます。キン肉マン要素を全取得する場合chiledrenとelementsんで、やっとジェロニモの出番なんですが、例えばサンプルxmlの数を数えるとしましょう。5これまでは要素【superman】を取得してきたので、5つしかありません。【human】のジェロニモも加えると6つになるはずです。サンプルの場合は結果は同じですが、役割は違います。それは下記のような裸の文字列(サンプルは【飛翔の神】)が入ってる場合などです。61と2と結果が分かれました。【children()】だとエラーが吐かれます。生の文字の【飛翔】も要素タグとして処理しようするからですね。i=0;i<mans.length();i++){alert(mans[i]["name"])}結果:ロビンマスクキン肉マンジェロニモ【elements()】だと要素でないものは排除してくれるみたいで、大丈夫です。ちなみに下記のような場合もエラーが出ます。position="リーダー"><name>ロビンマスク</name></superman></xml>空改行なら大丈夫ですが、全角スペースなどが入るとダメです、これで3時間悩んだことがあります。キン肉マンに【@position】が無い)。なってしまいますので、要注意です。意外と便利なコマンドも多数(と思う...)。何か間違いがあればお知らせいただくと幸いです。なんか知らんけど、仕様変更されてて苦戦した。<name>飛翔の神</name></SupermanGod>とちゃんと要素タグに入れてやることです。しても取り出しを希望なら【children()】から【localName()】を【null】に指定すればOKですね。$.writeln(mans[i]);}【children()】後の検索って色々指定できますなぁ。いつ使うかわからんけど。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。tm猫をこよなく愛するしがないDTPオペレータ。できることは、VB.net・HTML5・CSS3・javascript・jQuery・adobe系のjsxスクリプト。得意なのはファミコン!主に清流にある石の裏などに潜んでおり、小さい虫などを好んで食べる。顔本にシェアる?はてなブる?ポケットにイン?鳥になってツイトる?ふぇえdlyでコードクリリース・アップデート速報用のTwitter(@shocktm速報所)を開設してます。