• 締切済み

指定した属性値を持つ要素に追加する方法

質問させてもらいます。 Visual C#を使ってXMLファイルに対して 読み書きを行うプログラムを作っています。 同じ要素名で違う属性値を持つ要素が複数ある場合、 その中の特定の要素の属性値を指定し、それに追加する 方法がわかりません。 実現方法や参考になるサイト等教えてください。 開発環境は下記です。 WindowsXP Visual Studio 2005

  • XML
  • 回答数1
  • ありがとう数6

みんなの回答

回答No.1

補足要求。この間から回答を躊躇っているのは 質問文が良く理解できず 入力されるXMLと出力されるXMLの例がないから どういうものを求めているのかわからないため。 「<hoge> <fuga id="aaa" /> <fuga id="bbb" /> </hoge> となっているときに idがaaaであるfuga要素に 子要素としてfoo要素を追加し <hoge> <fuga id="aaa"><foo /></fuga> <fuga id="bbb" /> </hoge>」 ・・・みたいに書かれていると答えやすい。

関連するQ&A

  • XMLの属性追加

    PHPを用いてXMLファイルを作成したいのですが、属性の追加方法がわかりません。 SimpleXMLElement->addAttribute() を使うのであろうと考えているのですが、実際の使い方がわかりません。 以下のようなXMLを作成したいです。 <XML> <DATA> <ID type="code"> <ID num ="5"> </DATA> </XML> よろしくお願いします。

    • 締切済み
    • PHP
  • vbsでxmlの属性を追加したい

    Vista以降の更新プログラム(msuファイル)を展開して出てくるXMLファイルに属性を追加して恒久的に適用出来るか試してみたところ、正常に適用でき、恒久化もされていました。 ちょっと本題から外れましたが、そこでバッチファイルとvbsを組み合わせてXMLに連続的にこの変更(属性追加)を加えたいのです。 そのような操作が出来る関数ってあるのでしょうか。 出来れば記述の例もご教授頂ければ嬉しいです。 以下にXMLのソースと変更したい箇所を書いておきます。 よろしくお願いします。 ※追加する前 <?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <servicing> <package action="install"> <assemblyIdentity (略)> <source location=(略)> </package> </servicing> </unattend> ※追加した後 <?xml version="1.0" encoding="utf-8"?> <unattend xmlns="urn:schemas-microsoft-com:unattend"> <servicing> <package action="install" permanence="permanent"> ←ここに要素を追加 <assemblyIdentity (略)> <source location=(略)> </package> </servicing> </unattend>

    • ベストアンサー
    • XML
  • XMLの属性値を取得する方法とは?

    お世話になります。 PHP初心者です。 PHPでXMLを解析したいと思っております。 ところで要素の属性を取得する方法ってあるのでしょうか? 例えば <book id="listing"></book> 要件としては、book要素のidを取得する。 getElementById("id") だとbook要素か、どうか分からないし、 getElementsByTagName("book") だとid属性が取得できないし・・・。 簡単なことなのかもしれませんが、どうぞよろしくお願いいたします。 言語:PHP5.2

    • 締切済み
    • PHP
  • 位置情報に関する仕様を決めたい(要素・属性)

    自作プログラムから利用するXMLの書き方を考えているのですが、 位置情報を表す要素と属性の書き方をどのように割り振るべきか悩んでいます。 なるべく一般的な記法を採用したいのですがなにか基準などあるのでしょうか? 一つの要素に含まれる内容は次のようなものです ・アイテムのx, y座標 ・アイテムの角度 ・アイテムの回転軸(中心点の x, y座標) <item id="123"> <position> <x>100</x> <y>200</y> </position> <rotation> <x>50</x> <y>100</y> <angle>90</angle> </rotation> </item> 全て要素で書くと上のような感じになると思いますが、 属性を入れて「<position x="100" y="200" />」と書くのも良さそうに思えます。 今後回転速度や移動速度などの要素が拡張されるかもしれません。 また、「x」や「y」などとせずに「posX」「rotX」のように独自のものを使用したほうがいいのかもしれません。 こういったルールは何を基準に決めて行ったらいいのでしょうか? 自分ならこうするという意見もありましたら教えて下さい。

    • ベストアンサー
    • XML
  • MSXMLでの属性の存在確認法

    開発環境として、Visual C++ 2008 Express Editionを使用しています。 getAttributeを使用して、XMLの属性を取得しようとしているのですが、取得しようとしている属性が存在しない場合VCから、 「test.exe の 0x10266c70 でハンドルされていない例外が発生しました: 0xC0000005: 場所 0x00000000 を読み込み中にアクセス違反が発生しました。」 と表示されます。 何か属性が存在するかどうか確認するような方法は無いものでしょうか?

  • 指定したidやclass以外の要素を指定するには

    cssで特定のidやclassを持った要素を指定することは常識ですが 指定したidやclass以外の要素を指定する方法はありますか? 例えば#mainというidを持ったdiv要素を除いた全てのdiv要素を指定するなど。 本来は共通のクラスを割り当てるのが正しいやり方だと思いますが、、、

    • ベストアンサー
    • CSS
  • VB2005でXMLデータから複数ある要素の数を読み取る方法

    VB2005、XMLの初心者です。 VB2005でXMLデータを読み取って、DBに登録するプログラムを作っています。 XMLデータから項目を読み取るのは、下記のようにパスを指定してできることが分りました。 CreatorInfodNode = xmlDoc.SelectNodes("/Mml/Body/Module", nsmgr1) ID = CreatorInfodNode(0).InnerText.Trim しかし、下記のような同じ要素が複数あるXMLデータの場合、全ての要素を解析してDBに登録したいのですが、要素の数はどうやって読み取れば良いのでしょうか。ちなみに、要素の数は可変です。 上記のパスを指定する場合、要素のタグが同じなら全てパスは同じになり、最初の要素を取ってくるようですが、複数ある場合は全てを解析したいです。 <Mml> <Body> <Module>A</Module> <Module>B</Module> <Module>C</Module> </Body> </Mml> 何かヒントになるようなことでも良いので、皆様の知恵をお借りできれば幸いです。 よろしくお願い致します。

  • c++でxpath指定でXML

    c++でプログラミングを学んでいます。 XMLを使って設定ファイルを作ろうと思っています。 プログラム側で、あらかじめどのようなフォーマットのXMLかは知っているので、 ルートからのxpathを文字列で指定して要素を読みに行きたいのですが、 どのライブラリがこれを出来るのかわからない(1)、 また、サンプルが見付からない(2)、 ので困っています。 (1)と(2)について教えてください。★ (1)については、XercesとXalanとlibxml2が出来そう?、 (2)については直接指定のサンプルを全くみつけられていない、というところです。 (ソースコードについてくるサンプルでも直接指定は見つけられていなくて、複雑だと読めなくて困ってます。) (出来そうだという書き込みは、日本語圏・英語圏でちらほら見られる。) 因みに、boost::property_treeで読もうと思ったりしましたが、属性を検索キーにする必要があって、xpathが利用できないと複雑なプログラムを書かないとならないので、やめました。 そこまでするならXMLのフォーマットを変えよう→XMLの意味が無い→何としてもxpath、と…。 よろしくお願いします。

  • 要素のid属性の名前について

    要素のid属性の名前について質問があるのですが、 ■質問1 ID名を付けるとき、同一文書内に同じID名を複数使用してはいけない、というのはこれは同じ要素に対して同じID名を複数付けてはいけないということでしょうか?それとも要素は関係なく、ID名そのものが複数存在してはいけないということでしょうか? 例1:要素、ID名ともに同じ場合× <p id="name"></p> <p id="name"></p> 例2:要素が違って、ID名が同じ場合? <p id="name"></p> <div id="name"></div> 例3:要素が違い、ID名も違うので○ <p id="name1"></p> <div id="name2"></div> ■質問2 ID名は、同一文書内に同じID名を複数使用してはいけないと言われていますが、実際には使用できてしまうそうですが、やはり本来の使用方法にのっとって同一ID名を複数使用しない方がよいのでしょうか? 回答よろしくお願いします。

    • ベストアンサー
    • HTML
  • VS2013 ソースプログラム追加できない

    プログラムの統合開発環境Visual Studio2013について質問です。 ファイル→新規作成→プロジェクトでプロジェクトを作成することはできます。しかし、次にプロジェクト内にソースプログラムを追加しようとしても、プロジェクトメニューの追加の中に「新しい項目」のメニューがなく、ただプロジェクトが作成されただけになってしまいます。 以前は作成できました。設定が変わってしまったのでしょうか? 「新しい項目」のメニューを出す方法を教えてほしいです。

専門家に質問してみよう