C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: C++からXMLファイル中データを取りだしたい


(過去ログ 107 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■63839 / inTopicNo.1)  C++からXMLファイル中データを取りだしたい
  
□投稿者/ たんぽぽ (1回)-(2012/10/18(Thu) 16:00:48)

分類:[.NET 全般] 

こんにちは
例えば、下記のようなXMLレコードがあるとします。
<レシピ 名前="パン" 準備時間="5分" 調理時間="3時間">
<料理>基本的なパン</料理>
<材料 量='3' 単位='カップ'>小麦粉</材料>
<材料 量='0.25' 単位='オンス'>イースト</材料>
<要領>
<手順>全ての材料を一緒にして混ぜます。</手順>
<手順>十分にこねます。</手順>

<手順1>十分にこねます。</手順1>
<手順2>十分にこねます。</手順2>

</要領>

</レシピ>

C++でXML関係の関数で上記レコード中の諸データをどう取りだすのでしょうか。
例えば
小麦粉の量と単位とか、あるいは <要領>中のすべての <手順>内容、
そして指定した<手順>の内容(例えば、<手順2>)などをどうやって取得するのでしょうか。




引用返信 編集キー/
■63841 / inTopicNo.2)  Re[1]: C++からXMLファイル中データを取りだしたい
□投稿者/ とっちゃん (4回)-(2012/10/18(Thu) 17:00:03)
とっちゃん さんの Web サイト
No63839 (たんぽぽ さん) に返信
> C++でXML関係の関数で上記レコード中の諸データをどう取りだすのでしょうか。
> 例えば
> 小麦粉の量と単位とか、あるいは <要領>中のすべての <手順>内容、
> そして指定した<手順>の内容(例えば、<手順2>)などをどうやって取得するのでしょうか。
>

XMLのツリー構造の一部の情報を直接取得という場合は、XPath を使うのが一般的です。

XPath を使う場合は、XMLDOMが利用できるパーサーが必要になります。
とりあえず、MS系 の代表的なものを上げておきます。
.NET Framework用(C++/CLIなど)。System.Xml 名前空間の XmlDocument。
Windows ストアアプリ用(C++/CXなど)。Windows.Data.Xml.Dom 名前空間の XmlDocument。
それ以外のC++用(Native)。MSXML6 のIXMLDOMDocument
いずれも、使い方などはほとんど同じです。

他にもいろいろなパーサーがありますが、私は使ったことがないので詳細不明。
環境詳細がないので、どれがいいのか?は何とも言えません。


引用返信 編集キー/
■63842 / inTopicNo.3)  Re[2]: C++からXMLファイル中データを取りだしたい
□投稿者/ たんぽぽ (2回)-(2012/10/18(Thu) 17:17:01)
早速ご回答を頂きまして本当に有難う御座います。
>環境詳細がないので、どれがいいのか?は何とも言えません。
情報不足でごめんなさい!
OSはWINDOWS XPかそれ以降ですけれども、
開発環境はMS STUDIO2010 VC++
この場合は下記の中にお勧め頂けるものがあれば是非ご教授お願いします。

.NET Framework用(C++/CLIなど)。System.Xml 名前空間の XmlDocument。
Windows ストアアプリ用(C++/CXなど)。Windows.Data.Xml.Dom 名前空間の XmlDocument。
それ以外のC++用(Native)。MSXML6 のIXMLDOMDocument

引用返信 編集キー/
■63847 / inTopicNo.4)  Re[3]: C++からXMLファイル中データを取りだしたい
□投稿者/ とっちゃん (5回)-(2012/10/18(Thu) 20:54:09)
とっちゃん さんの Web サイト
No63842 (たんぽぽ さん) に返信
> OSはWINDOWS XPかそれ以降ですけれども、
> 開発環境はMS STUDIO2010 VC++
Visual C++ 2010 ってことですね。

> この場合は下記の中にお勧め頂けるものがあれば是非ご教授お願いします。
>
> .NET Framework用(C++/CLIなど)。System.Xml 名前空間の XmlDocument。
> Windows ストアアプリ用(C++/CXなど)。Windows.Data.Xml.Dom 名前空間の XmlDocument。
> それ以外のC++用(Native)。MSXML6 のIXMLDOMDocument
>
XPなどのデスクトップOSが対象なら、ストアアプリは対象外になります。
それ以外のどちらを使うかは、.NET Framework を利用するかどうかでかわります。
C++/CLI で作っているのであれば、System.Xml.XmlDocument を使えばよいと思います。
そうではない場合は、MSXMLを検討するのがよいと思います。

なお、XP環境で、.NET Framework を利用しない場合、別途MSXML6をインストールする必要がある場合があります。
基本的にはインストールすると思っておくほうがいいです。

MSXML については
http://msdn.microsoft.com/en-us/library/windows/desktop/ms763742.aspx
がリファレンスになります。

検索すれば結構な量の日本語情報がヒットしますので、英語だけとあきらめずにチェックしてみてください。
なお、XPath については、.NET Framework のリファレンス内に日本語情報があるのでそちらを見るのがよいと思いますよ。
引用返信 編集キー/
■63849 / inTopicNo.5)  Re[4]: C++からXMLファイル中データを取りだしたい
□投稿者/ たんぽぽ (3回)-(2012/10/19(Fri) 08:57:05)
おはようございます。
丁寧なご解説ありがとうございました。
良く分かりました!

これからも宜しくお願い致します。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -