XPathで要素ノード数取得
目標
指定ノードを配列に入れて 配列の要素数を取得る
出来たのはこんな↓
※
titArrayでは要素内容(titleのテキストノード)の配列
boxArrayでは要素ノード(boxの要素ノード)をまるっと取得した配列
の 二つを作って見比べてみました
**xml(ファイル名:myxml.xml)
**as2
これで
trace(boxNodes);
とかやると 2 って出るはず
因みに
テキストノードが無い所で text() を使うと値の取得ができませんから!
例えば 今グリ-ンでマーカつけてる node() を text() にすると
trace(boxNodes); は 0って出てきます
指定ノードを配列に入れて 配列の要素数を取得る
出来たのはこんな↓
※
titArrayでは要素内容(titleのテキストノード)の配列
boxArrayでは要素ノード(boxの要素ノード)をまるっと取得した配列
の 二つを作って見比べてみました
**xml(ファイル名:myxml.xml)
<?xml version="1.0" encoding="utf-8"?>
<myxml>
<box>
<title>01タイトル</title>
<text>01テキストテキストテキスト</text>
</box>
<box>
<title>02タイトル</title>
<text>02テキストテキストテキスト</text>
</box>
</myxml>
<myxml>
<box>
<title>01タイトル</title>
<text>01テキストテキストテキスト</text>
</box>
<box>
<title>02タイトル</title>
<text>02テキストテキストテキスト</text>
</box>
</myxml>
**as2
import com.xfactorstudio.xml.xpath.*;
var _myxml:XML = new XML();
_myxml.ignoreWhite = true;
_myxml.おnLoad = function(success) {
if (success) {
XMLParse();
}
};
_myxml.load("xml/myxml.xml");
var boxArray:Array = new Array();
var titArray:Array = new Array();
var boxNodes:Number;
function XMLParse():Void {
//配列作り
titArray = XPath.selectNodes(_myxml, "myxml/box/title/text()");
boxArray = XPath.selectNodes(_myxml, "myxml/node()");
//要素数取得
boxNodes = boxArray.length;
}
var _myxml:XML = new XML();
_myxml.ignoreWhite = true;
_myxml.おnLoad = function(success) {
if (success) {
XMLParse();
}
};
_myxml.load("xml/myxml.xml");
var boxArray:Array = new Array();
var titArray:Array = new Array();
var boxNodes:Number;
function XMLParse():Void {
//配列作り
titArray = XPath.selectNodes(_myxml, "myxml/box/title/text()");
boxArray = XPath.selectNodes(_myxml, "myxml/node()");
//要素数取得
boxNodes = boxArray.length;
}
これで
trace(boxNodes);
とかやると 2 って出るはず
-----------------------
テキストノード取得なら text()
要素ノードごとなら node()
-----------------------
テキストノード取得なら text()
要素ノードごとなら node()
-----------------------
因みに
テキストノードが無い所で text() を使うと値の取得ができませんから!
例えば 今グリ-ンでマーカつけてる node() を text() にすると
trace(boxNodes); は 0って出てきます
by isunonusi
| 2009-01-16 18:08
| as