初めて質問させていただきます。
よろしくお願い致します。
XMLについて勉強を始めたばかりで、基本的な質問です。
<住所録>
<個人>
<住所>東京都</住所>
<氏名>○○</氏名>
</個人>
<個人>
<住所>千葉県</住所>
<氏名>××</氏名>
</個人>
</住所録>
上のように、住所と氏名の個人データが住所録として
登録されているようなXMLでは、タグ名が<個人><住所><氏名>と、同じものになってしまいます。
このようにタグ名が同じXMLファイルにアクセスして「<個人>というタグ名からその配下のNodeListを取得」するようなプログラムを作るとき、(言語はC++でDOMを使用します)
<住所>東京都</住所>
<氏名>○○</氏名>
<住所>千葉県</住所>
<氏名>××</氏名>
と、2つのNodeListを取得するにはどうすればいいのですか?
(この場合、タグ名が同じで、個人情報が2つですが、xmlではこの2つの個人情報の「”氏名○○”のリストのみ取得する」というように、Nodeを判定し条件にあった項目を取得することは可能ですか??)
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
「条件付でNodeListは取得できない」ではなく
「NodeListを取得するのに条件を与えられない」です。
こういった処理を望むのであれば、自分で処理を記述しなければならないということです。
childNodesプロパティで得られる情報は、当該ノードの子、全てをコレクションとして含むNodeListということになります。
「”氏名○○”のリストのみ取得する」という処理をしたいのであれば、『childNodesプロパティを使用して<個人>ノードを全て取得した後、さらに<氏名>ノードを取得して判断』という流れになるでのしょう。
この件に関して言えば、ネームスペースは『自分で判断する』必要があります。
お礼が遅くなり,申し訳ございません。
childNodesプロパティを使うのですね。ありがとうございます。
今、MSXMLパーサ4.0でDOMを使ってVC6.0で質問で挙げたようなxmlファイル操作のプログラムを作成しています。
COMプログラミングでの文法が難しく、childNodesでのノードの取りかたが分かりません・・・。
今、getTagNameで上のxmlファイルだと、<住所>を指定して最初の
<住所>東京都</住所>
しか取れません。<住所>千葉県</住所>も取るにはどうすればいいのでしょうか・・・別途新しい質問を立てたほうがいいのかも知れませんが、是非よろしくお願い致します。
No.1
- 回答日時:
NodeListを取得するにはchildNodesプロパティが使えます。
条件付でNodeListを取得する方法は標準では提供されていないようです。MicrosoftのパーサだとSelectNodesというメソッドが提供されていますが...。
この回答への補足
迅速な回答、ありがとうございました。
条件付でNodeListは取得できない・・・ということでしょうか・・・
まだ勉強不足で完全には理解していないのですが、「名前空間」を使って、タグ名がかぶっていても欲しいリストだけ拾ってくる・・・ということはできないですか??
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Oracle sqlで質問です。 idを元にidに紐付くデータで住所コードがjpのみのデータ以外のidを取得したい 4 2023/03/20 17:41
- その他(Microsoft Office) EXCELの1行を1枚の用紙にそれぞれ印刷したい。 3 2022/10/10 11:35
- Safari(サファリ) ココナラを利用するには、個人情報(自分の氏名及び住所)を登録する必要がありますか? 4 2022/06/10 19:18
- メルカリ メルカリについて。 「本人情報」の欄の氏名、住所は変えられないですが、住所一覧」の住所と名前は自由に 1 2022/10/12 00:13
- 事件・犯罪 昔いじめてきた人の個人情報(住所や氏名)をSNSなどに拡散するのは犯罪になりますか? 8 2023/08/28 10:46
- メルカリ メルカリshopsについて 個人情報抜き取り?? 1 2022/04/02 00:03
- メルカリ メルカリ本人確認について メルカリの本人確認 住所、氏名、電話番号、生年月日登録必要かと思います 友 2 2022/03/27 23:54
- 消費者問題・詐欺 詐欺罪になるかもしれない友人 4 2022/10/30 16:32
- 訴訟・裁判 簡易裁判所の支払督促 4 2022/04/30 09:20
- 占い 霊能力者って、迷宮入り事件を霊視して、警察へ密告して解決って出来るんですか? 情報提供 6 2022/07/04 12:39
このQ&Aを見た人はこんなQ&Aも見ています
-
新NISA制度は今までと何が変わる?非課税枠の拡大や投資対象の変更などを解説!
少額から投資を行う人のための非課税制度であるNISAが、2024年に改正される。おすすめの銘柄や投資額の目安について教えてもらった。
-
ルート要素ノードが2個ある場合?
XML
-
VBA でxmlの全要素・属性の読み込み
Visual Basic(VBA)
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
-
4
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
5
C#にて別クラスの関数を使いたい
C言語・C++・C#
-
6
Excelで"で囲む方法
Excel(エクセル)
-
7
XmlTextWriterで改行、RichTextBoxで任意の文字列に属性を持たせるには
Visual Basic(VBA)
-
8
C#のXmlDocumentについて
Microsoft ASP
-
9
python エラー
その他(プログラミング・Web制作)
-
10
XML同じ名前の要素を自動で集約するツール
XML
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SNMP リンクダウンとノードダ...
-
コンテキストメニュークリック...
-
ルート要素ノードが2個ある場合?
-
ToolStripMenuItemの選択(VB)
-
CPUの考え方を教えてください ...
-
ノード数とは?
-
ノードとは
-
最長経路探索
-
C#でtreeviewの指定ノードを選...
-
C言語:文字列の並び替え
-
ツリービューを閉じさせたくない。
-
アローダイアグラムの描画について
-
XML文書の指定した属性値を持つ...
-
C# TreeViewのノードの判定
-
2分探索木の高さを求めるプロ...
-
TreeViewの再表示のちらつきを...
-
複数のマックPCによる数値計算...
-
東芝のDynabookなのですがアン...
-
XMLで特殊文字を扱うにはどうし...
-
XSLで、XMLの空タグを制御したい。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CPUの考え方を教えてください ...
-
SNMP リンクダウンとノードダ...
-
同じタグ名の項目取得
-
昔Winnyってありましたけど、あ...
-
コンテキストメニュークリック...
-
ルート要素ノードが2個ある場合?
-
マスターノード
-
複数のマックPCによる数値計算...
-
あるノードリストに、特定の名...
-
TreeView の初期表示について
-
TreeViewの再表示のちらつきを...
-
ツリービューのノードをダブル...
-
C# TreeView 効率良いノード追...
-
ノード数とは?
-
XML文書の指定した属性値を持つ...
-
C#のツリービューでツリーノー...
-
VB6.0でDOMを使用して...
-
TreeViewで複数ノードの選択は...
-
ノードとは
-
VisualBasic.net(2008) ツリー...
おすすめ情報