DOBON.NET DOBON.NETプログラミング掲示板過去ログ

DOMノード取得

  • 題名: DOMノード取得
  • 著者: tororo
  • 日時: 2007/03/08 15:54:11
  • ID: 19264
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[.Net FrameWork2.0,XP]
分類:[.NET]

ご教授ください。m(_ _)m

xmlにて
<a value='a'>
<b></b>
<c></c>
</a>

とある場合に、
<a value='a'>のノードのみを取得したいのですが、どのようにしたらよいのでしょうか?

こちらで検討した結果は、次の通りでした。
node = selectSingleNode("a")
node.removeall()
とやると、value='a'の値まで削除されて、<a>のみなってしまいます。

*<b><c>ノードは要りません。

よろしくお願い致します。
こんにちは。

■No19264に返信(tororoさんの記事)
> ご教授ください。m(_ _)m
>
> xmlにて
> <a value='a'>
> <b></b>
> <c></c>
> </a>
>
> とある場合に、
> <a value='a'>のノードのみを取得したいのですが、どのようにしたらよいのでしょうか?
>
> こちらで検討した結果は、次の通りでした。
> node = selectSingleNode("a")
> node.removeall()
> とやると、value='a'の値まで削除されて、<a>のみなってしまいます。
>
> *<b><c>ノードは要りません。
>
> よろしくお願い致します。

この内容 “だけ” では、何がしたいのかさっぱり読み取れないのですが、その辺を
キチンと説明しなくてはいけないのではないですか?
XML と書いてありますが、.NET Framework2.0 とあっても言語が書かれていないの
で、そこを読み取るまでにかなり時間を要しました。
( XSLT にも SelectSingleNode ってあるし…)
検討した結果と言われても、これで通じるとは思えません。
質問するにも、相手に自分の考えていることが伝わらない限りは答えられないもの
だということを理解してください。

最終的に面倒なので VB.NET と XmlDocument (DOM) 周りの話だと仮定して勝手
に進めてしまいますが。

> node = selectSingleNode("a")
> node.removeall()

これだと a ノード以下のすべての子ノードと属性を削除してしまうので、結果的に a
ノードのみになってしまうのは当然だと思います。
最終的に

<a value='a'>
<b></b>
<c></c>
</a>



<a value='a'>
</a>

になれば良い、ということであれば、node.InnerXml = "" とでもすれば良いのでは
ないでしょうか。
  • 題名: Re[2]: DOMノード取得
  • 著者: tororo
  • 日時: 2007/03/09 8:21:11
  • ID: 19274
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
> この内容 “だけ” では、何がしたいのかさっぱり読み取れないのですが、その辺を
> キチンと説明しなくてはいけないのではないですか?
> XML と書いてありますが、.NET Framework2.0 とあっても言語が書かれていないの
> で、そこを読み取るまでにかなり時間を要しました。
> ( XSLT にも SelectSingleNode ってあるし…)
すいませんでした。VB.Netと記載するのを失念しておりました。

> 検討した結果と言われても、これで通じるとは思えません。
> 質問するにも、相手に自分の考えていることが伝わらない限りは答えられないもの
> だということを理解してください。
再三、申し訳ありませんでした。今後、より熟考し、質問させて頂きます。


> 最終的に面倒なので VB.NET と XmlDocument (DOM) 周りの話だと仮定して勝手
> に進めてしまいますが。
>
>>node = selectSingleNode("a")
>>node.removeall()
>
> これだと a ノード以下のすべての子ノードと属性を削除してしまうので、結果的に a
> ノードのみになってしまうのは当然だと思います。
> 最終的に
>
> <a value='a'>
> <b></b>
> <c></c>
> </a>
>
> が
>
> <a value='a'>
> </a>
>
> になれば良い、ということであれば、node.InnerXml = "" とでもすれば良いのでは
> ないでしょうか。

メソッドばかりに気をとられ、プロパティに気が付きませんでした。
不備な質問に対し、適切なご回答を頂きありがとうございます。

今後とも、よろしくお願い致します。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板