• ベストアンサー

C#の指定したタグ要素を削除

C#のRemoveChildメソッドを使用して、指定したタグ要素を削除したいです。 下記サイトのサンプルコードを見ると、タグ<zip></zip>で囲まれている箇所を削除していますが、例えばタグ<zip id="aaaaa"></zip>のようにIDがついている場合も削除することが可能でしょうか? ※IDは毎回変わります また不可能な場合、可能となる方法についてご教示頂きたいです。 サンプルコード http://hiros-dot.net/CS2005/XML/DOM/DOM18.htm

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

> <zip id="aaaaa"></zip>のようにIDがついている場合も削除することが可能でしょうか? 当然、消えますね。(消えるというかヒットするというか) 検索はあくまで「タグ」ですから。 また、idじゃなくても、ほかにも、classやstyle="..."なんてのが くっついてることがあったとしても、 あくまで検索したのは「タグ」なので、無条件にヒットしますよ。

ababa8513
質問者

お礼

ご回答ありがとうございました!

関連するQ&A

  • jQueryでxmlの異なるタグ要素を取得したい。

    jQueryを最近勉強したての者です。 詳しい方、どうか教えて下さい。 HTMLにxmlのデータを読み込ませようとしています。 概略をお話しすると、 htmlファイルによって、xmlの別々の要素を取得したいのです。 やりたいメソッドは同じです。 別々の要素の中のデータによって、imgの表示/非表示を切り替えたいのです。 問題は、対象となるhtmlファイルが複数あり そのhtmlファイルによって、参照するxmlのタグが異なる事なんです。 xmlは、以下のように<shopdata>をルートノードとし、以下のような感じです。 --------------------- <?xml version="1.0" encoding="utf-8"?> <shopdata> <item> <name1>0</name1> <name2>1</name2> <name3>0</name3> </item> </shopdata> --------------------- <name*>~</name*> の中のデータは、0もしくは1なのですが 0の時はimgを表示 1の時はimgを非表示させようと考えています。 ただ<name1><name2><name3> とタグ名がバラバラなんです。 ※おしりの数字が違うだけで、規則的ではあります。 ちなみにhtmlは複数あって  a.htmlの時は→xmlの<name1>を参照  b.htmlの時は→xmlの<name2>を参照  c.htmlの時は→xmlの<name3>を参照 という感じです。 ※htmlファイル名は特に規則的ではなく、いろいろなファイル名がついています。。。 最初、考えたのは、 htmlのどこかに、id="1"と入れて、idが1の時は、<name1>の要素を取得し、 htmlのどこかに、id="2"と入れて、idが2の時は、<name2>の要素を取得し… っていうことを考えたのですが、それもどのように書いたら良いのかが分からないんです。 そもそも、そういった事は可能なのでしょうか? ちなみのhtmlのbodyタグ自体がテンプレートでできているので、 idをどこかにふるとしたら、head内とかになるのしょうか? それぞれ、ボタンの表示は、 if文を使って、show(),hide()メソッドを使うとは思うのですが… 詳しくコードを教えていただけたら、助かります。 どうか、宜しくお願いいたします。

    • ベストアンサー
    • AJAX
  • 指定したURIを参照して、ソースコードの<title>タグで囲まれた値を返すにはどうすればよいのでしょうか。

    php初心者です。 指定したURIを参照して、ソースコードの<title>タグで囲まれた値を返すにはどうすればよいのでしょうか。 <a href="sample_00.htm"></a> <a href="sample_01.htm"></a> <a href="sample_02.htm"></a> <a href="sample_03.htm"></a> というコードが用意されているのですが、これをphpを使って <a href="sample_00.htm">sample_00.htmのソースのtitle</a> <a href="sample_01.htm">sample_01.htmのソースのtitle</a> <a href="sample_02.htm">sample_02.htmのソースのtitle</a> <a href="sample_03.htm">sample_03.htmのソースのtitle</a> のようなhtmlコードを吐き出すようにしたいのです。 <a></a>に、各々のページの<title></title>タグで囲まれた文字列 を挿入したいのですが、phpでどのように命令すればよいのでしょうか? 500くらいサイト内リンクを書きたくて、動的にやろうと思ったのですが、勝手がわかりません。 どなたか、お時間があれば教えていただけないでしょうか。

    • ベストアンサー
    • PHP
  • VB6.0でDOMを使用してノードを削除したい

    VB6.0でDOMを使用して下記のSAMPLE.xmlより編集者以下のノードを削除してSAMPLE01.xmlとして保存したいのですがやり方がわかりません。 よろしくお願いします。 【SAMPLE.xml】 <?xml version='1.0' encoding="UTF-8" ?> <書籍情報>  <著者 id="00001">   <名前>磯野カツオ</名前>   <性別>男性</性別>  </著者>  <編集者 id="10001">   <名前>磯野波平</名前>   <性別>男性</性別>  </著者> </書籍情報> 【VB6.0】 Dim xmlDocument As New MSXML2.DOMDocument If Not xmlDocument.Load("SAMPLE.xml") Then   MsgBox "XML Read Error!!!"   Exit Function End If '********************************************************* ' ※ここにどのようにコーディングしたらいいのでしょうか? '********************************************************* Call xmlDocument.Save("SAMPLE01.xml")

  • ノードの削除

    フォームから送信した内容に対応するノードを DOMツリーから削除する方法が思いつかず困ってます。 var kekka = root.selectNodes(XPath); のようにして直接ノードリストを取得しています。 ●.removeChild(▲)を利用してノードが削除できることはわかるのですが、 今回の場合の、●▲に入る変数がまったく検討がつきません。

  • DTDファイルをクラスパスから読み込みたい

    DTDを利用したXMLファイルを読み込むDOMパーサーを作ってます。 表題のとおり、DOMパーサーがXMLファイル、DTDファイルを読み込む際に DTDファイルをローカルマシン(実行環境)のクラスパスにあるディレクトリ から読み込みたいのですがうまくいきません。 XMLパーサーにxercesを利用し、DOMを使ってます。 例えば、 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE pagecontrol SYSTEM "sample.dtd"> <PEOPLE> <NAME>afternoon_cafe</NEME> </PEOPLE> のようなXMLファイルを、DOMパーサーがparse()メソッドによりロード すると、"sample.dtd"をカレントディレクトリからしか検索しません。 この"sample.dtd"をクラスパスにあるディレクトリに置き、それを 読み込むようにしたいのですが、、、 どなたかわかる方がいれば、教えてください。 お願いします。

    • ベストアンサー
    • XML
  • アンドロイドの開発:domの様な物CSSの様な物

    アンドロイドアプリの開発を始めました。 なんだかxmlの書き方が、属性がいっぱいで 昔のHTMLに似ていると思いました。(スタイルなど全て属性に依存している?) この書き方はなんとなく非効率な感じがしました。 jsのgetElementByIdのようなIDが着いている 要素を探して処理させたり、 全ての要素をjavaのコードから変更できるような DOMにアクセスできるメソッドはありますか? またCSSのようにxmlのIDを知っているだけでスタイルが付けられるような 仕組みはありますか? 名前などを教えてください。 よろしくお願いします。

    • ベストアンサー
    • Java
  • XML::XPathでのタグの取り出し

    perl勉強し始めの初心者ですが、よろしくお願いします。 自分なりに調べたつもりですが分からなかったので質問させていただきます。 perlでXMLをHTMLとTEXTに変換したくてParser、Simple、DOMなどを試し、最終的にXPathにたどり着きました。 でも、XPathでの同じタグの取出しができません。 -------------------------------------------- <root> <man> <name>あああ</name> <id>11111</id> <tel>111-1111</tel> </man> <man> <name>いいい</name> <id>2222</id> <tel>222-2222</tel> </man> <man> <name>ううう</name> <id>3333</id> <tel>333-3333</tel> </man> </root> -------------------------------------------- このような場合の<name>の「あああ」だけを取り出したいのですが、 "root/man/name" だと、<name>の中身が全部出てきてしまいます。 "root/man/name[1]" でもだめでした。 どなたか分かる方いらっしゃいましたら、教えてください。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • XML::DOM / XML::XPathでソート

    XML::DOMで効率的なソートの方法はどんなものがありますでしょうか。 一応動くものは作れたのですが、効率的とは言い難く、しかも ソート項目が一意のデータでないといけないという欠点があります。 ############################################### use XML::DOM::XPath; my $xml = <<EOM; <?xml version="1.0" encoding="UTF-8" ?> <list> <item id="10">Apple</item> <item id="5">Orange</item> <item id="20">Melon</item> </list> EOM my $parser = XML::DOM::Parser->new(); my $doc = $parser->parse( $xml ); ## <item>タグの一覧を作成 my @list = $doc->findnodes('/list/item'); ## <item>タグ id属性一覧を作成 my @idlist = map{ $_->getAttribute("id") } @list; ## id属性順にソート foreach my $id ( sort{ $a<=>$b } @idlist ){ ## id属性値を指定してノードリストを取得 my @item = $doc->findnodes('/list/item[@id='.$id.']'); ## idは一意なのでリストの先頭で固定 print $item[0]->getAttribute('id')."\n"; print $item[0]->getFirstChild->getNodeValue."\n"; } ############################################### ハッシュなら sort{ $hoe{$b} <=> $hoe{$a} } keys %hoe といった方法があるのですが、XML::DOMの場合は同じようにいきません。 良い方法がありましたらお願いします。

    • ベストアンサー
    • Perl
  • XMLにおける同名異種のタグを区別して、そのコンテンツを取り出すには?

    XMLにおける同名異種のタグを区別して、そのコンテンツを取り出すには? <?xml version='1.0'?> <root>  <animal>   <neko>ペルシャ</neko>  </animal>  <pet>   <neko>三毛</neko>  </pet> </root> 上記コードから、 getElementByTagName('neko')のようにして、 <neko>タグの中身を取得したいのですが、 ただ、取得したいのは、<animal>の中にある<neko>の中身であって、 <pet>の中にある<neko>の中身ではないんです。 こういった場合、同じ<neko>でも区別して、中身を取得する方法はありますか? 方法としては、DOM的に取得したいと思っています。 つまり、正規表現で云々というのは、最終手段としたいわけです。 おそらく、初歩的な質問だとは思いますが、 どうか宜しくお願い致します。 環境:PHP5

    • ベストアンサー
    • PHP
  • textareaにタグを挿入したい。

    お世話になります。 divタグのid=で指定した箇所に下記のようにappendChildでtagを挿入する事はできるのですが、textarea内に同じようにタグを挿入した場合、画面には表示されないのです。 FireFoxのFirebagでDOMを見るとタグは挿入されているのですが どうすれば、textareaにタグを挿入してそれをブラウザーで見ることができますでしょうか 大変恐縮ですが、この辺りの解説と解決法をご教授頂けますようお願い致します。 document.getElementById(textarea_test).appendChild(newDoc);