初めて質問させていただきます。
よろしくお願い致します。
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も見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
VBA でxmlの全要素・属性の読み込み
Visual Basic(VBA)
-
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
ルート要素ノードが2個ある場合?
XML
-
-
4
XmlTextWriterで改行、RichTextBoxで任意の文字列に属性を持たせるには
Visual Basic(VBA)
-
5
Excel-VBAでXMLの複数ノードの取り出し
Visual Basic(VBA)
-
6
C#のXmlDocumentについて
Microsoft ASP
-
7
【VB.NET】App.configにファイルパスを設定して読み込みたい
Microsoft ASP
-
8
大量のデータを読み込んで表示する速度を改善したい
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CPUの考え方を教えてください ...
-
SNMP リンクダウンとノードダ...
-
ルート要素ノードが2個ある場合?
-
C# TreeView 効率良いノード追...
-
2分探索木の高さを求めるプロ...
-
あせんうぶり言語
-
XMLで要素が記述された順番に意...
-
Access VBAでXMLが読み込めない
-
空かスペースを認識させること...
-
u_shortなどの省略した宣言につ...
-
XML同じ名前の要素を自動で集約...
-
eclipseへのxmlファイル追加
-
バッチファイルでテキストファ...
-
XMLを出力する時のエラー原因
-
VBでXMLファイルを作ると xmlns...
-
複数のXMLファイルからデータを...
-
VBAのXML処理でメモリが足りない?
-
XMLの要素の内容の中に要素
-
終了タグが認識されない?
-
Visual Basic .NET の識別子は...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CPUの考え方を教えてください ...
-
昔Winnyってありましたけど、あ...
-
SNMP リンクダウンとノードダ...
-
ルート要素ノードが2個ある場合?
-
あるノードリストに、特定の名...
-
同じタグ名の項目取得
-
コンテキストメニュークリック...
-
ノードとは
-
XML文書の指定した属性値を持つ...
-
ツリービューのノードをダブル...
-
2分探索木の高さを求めるプロ...
-
C# TreeView 効率良いノード追...
-
VB6.0でDOMを使用して...
-
スケールフリーネットワークをC...
-
C#でtreeviewの指定ノードを選...
-
複数のマックPCによる数値計算...
-
TreeViewに重複する値をセット
-
ツリービューの使い方が・・・
-
各ノードの行数取得
-
TreeViewの再表示のちらつきを...
おすすめ情報