トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     XPathAPI クラスについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
fawn9630
Åê¹ÆNo.32352
投稿日時: 2007-3-5 17:44
半人前
居住地:
投稿: 35
使用環境:
10.4
XPathAPI クラスについて
XPathAPI クラスを用いて属性値を取得したいのですが
方法が分からず困っています。

<?xml version="1.0" encoding="UTF-8"?>
<data>
<test id="2">テスト</test>
</data>

例えば上記なようなxmlの「id="2"」の「2」を
取得したいと思っております。

取得方法をご存知の方ご教授下さい。
よろしくお願い致します。
kool_it
Åê¹ÆNo.32372
投稿日時: 2007-3-7 13:49
常連
居住地: 東京
投稿: 92
使用環境:
win7::Win2K:Flash CS5.5:
10.7:Flash CS5.5:
Re: XPathAPI クラスについて
どのくらいXpathについて知っているのか、また調べたのか分からないので、推察で答えさせてもらいます。

まず、google等で調べてみましたか? XPathAPI [google]

チュートリアルが載っているサイトは結構あります。

英語ですがapiドキュメント [pdf]

一応サンプルコードは

var dataXML = new XML('<?xml version="1.0" encoding="UTF-8"?><data><test id="2">テスト</test><test id="5">テスト</test></data>');

import mx.xpath.XPathAPI;
var results = XPathAPI.selectNodeList(dataXML, '*/data/test');
for( var i = 0; i < results.length ; i++ ){
	var idNum = results[i].attributes.id
	trace([idNum, typeof(idNum)]);
}


注意点は
1)戻り値は配列であること。
2)全て文字列で戻ってくることです。

さらに、Xpathが分かっているならばadobeが提供しているものはxpathをほとんど実装していないのでこちらの方をおすすめします。

openSourceFlash xpath4as2

こちらはxpathのほとんどを実装しています。

サンプルコード
var dataXML = new XML('<?xml version="1.0" encoding="UTF-8"?><data><test id="2">テスト</test><test id="5">テスト</test></data>');

import com.xfactorstudio.xml.xpath.*
var results:Array = XPath.selectNodesAsNumber(dataXML, '*/data/test/@id')
for( var i = 0; i< results.length; i++ ){
	var idNum = results[i];
	trace( [idNum, typeof(idNum)] );
}


----------------
---------------------------------------
ActionScript Junky!
---------------------------------------

fawn9630
Åê¹ÆNo.32382
投稿日時: 2007-3-7 22:42
半人前
居住地:
投稿: 35
使用環境:
10.4
Re: XPathAPI クラスについて
kool_it様

説明不足にも関わらず丁寧にご説明頂きありがとございます。
selectNodeListで取得した配列からattributesで取得すれば
よかったんですね。気がつきませんでした・・・。

xpath4as2もいずれ使ってみたいと思います。

本当にありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops