API version 1

- ‐

selectNodes

XPathで指定した条件に一致するノードを検索します。

呼出形式一覧

呼出形式

説明

CRS::Common::Core::XmlNodeList selectNodes(string xpath)

xpathで指定した条件に一致するノードを返します。

戻り値一覧

戻り値

説明

CRS::Common::Core::XmlNodeList

条件に一致したすべてのノードを含むXmlNodeListオブジェクト。

引数一覧

引数

説明

xpath

検索条件をXPath形式で指定します。

XPathには以下の要素を指定することができます。

書式

内容

/name

先頭のnameエレメントを選択します。

//name

現在の子と子孫のエレメントからnameエレメントを選択します。

../name

現在の親エレメントの子からnameのエレメントを選択します。

name/*

現在の子エレメントからnameエレメントの子エレメントをすべて選択します。

name@id

現在の子エレメントからnameエレメントのidアトリビュートを選択します。

name[.="data"]

現在の子エレメントから値がdataのnameエレメントを選択します。

name[@id="data"]

現在の子エレメントからidアトリビュートがdataのnameエレメントを選択します。

name[2]

現在の子エレメントから3番目のnameエレメントを選択します。

#textなどNodeTypeを指定した検索に対応しています。

例外

なし

関連項目

XmlNodeListクラス

selectSingleNodeメソッド



使用例 CRSダウンロード

Form Xmlnode_02 {
   x = 0;
   y = 0;
   width = 800;
   height = 600;

   var xm = new XmlDocument();
   xm <<  xml  <<-
   <?xml version="1.0"?>
   <root>
           <A>
                   <integer>1</integer>
                   <string>text</string>
                   <number>1.5</number>
           </A>
           <B attr="attribute">text with attribute</B>
           <C>text only</C>
   </root>
   ->> ;

   var parent = xm.documentElement;
   var namespaceURI = parent.lookupNamespaceURI("svg");
   var prefix = parent.lookupPrefix("http://www.w3.org/2000/svg");

   var list = parent.childNodes;
   for (var n in list) {
           var node = list.item(n);
           print("loop ",n,node.getattribute("attr") );
           print("rm loop ",n , " ", node.nodeName );
           if (node.nodeName == "B") {
                   parent.removeChild(node);
                   print( n ,"を消去") ;
                   /* break; */
           }
           var oldChild = list.item(n);
           print("rep loop ",n , " ", oldChild.nodeName,oldChild.attributes );
           if (oldChild.nodeName == "C") {
                   var newChild = xm.createElement("E");
                   parent.replaceChild(newChild, oldChild);
                           print(n , "をEに置き換え");
                           /* break; */
           }
   }

   var lisu = xm.documentElement.selectNodes("//E");
   for (var n in lisu) {
           print("selectN ",lisu.item(n).nodeName);
   }

   var node = xm.documentElement.selectSingleNode("//E");
   if (node != null) {
           print("selectS ",node.nodeName);
   }

}