タイトル | : Re: XMLへのアクセス方法 |
記事No | : 13970 |
投稿日 | : 2009/08/24(Mon) 01:55 |
投稿者 | : 魔界の仮面弁士 |
> 同じ階層にtestタグが2つある時はどのようにすればいいのでしょうか?
それらの要素をどうしたいのかを書かないと質問にならないような。(^^;
とりあえず、個々の test 要素を取得したいという意味であれば、
(案1) SelectSingleNode で「<test>あああ</test>」を取得し、 さらにそこから、nextSibling で、弟ノード「<test>いいい</test>」を得る。
(案2) SelectNodes で <test> ノードの一覧を取得し、 それを For Each またはインデックス指定で、それぞれのノードを得る。
などがあります。他にもいろいろな方法がありますけれども。
> また現在の階層にあるタグを全て列挙する方法はありませんでしょうか? タグというのが要素ノードという意味であれば、その一つ親の要素ノードに対して、 childNodes プロパティを取り出せばよいと思います。
例えば、
<root> <a id="1"> <b id="2"/> <b id="3"/> </a> <a id="4"> <b id="5"/> <b id="6"/> </a> </root>
という構造であったときに、現在の位置が <a id="1"> であったとすれば、 .childNodes で、<b id="2"> と <b id="3"> が得られますし、 .parentNode.childNodes なら、<a id="1"> と <a id="4"> が得られます。
もし、現在の位置が <b id="2"> の時に、id が 2,3,5,6 の <b> を取得したいのなら、 .selectNodes("/root/a/b") を使うという手もあります。
|