VC++の使い方

VC++の使い方 > VC++ Tips > 時代はXML
このページの内容
序文
リンク
実験
ありがたいスポンサー様
All About ソフトウエアエンジニア
ネットで8%割引!自動車保険はアメリカンホーム・ダイレクト
人生の「チャンス」と「ピンチ」にモビット!
保険料が一生上がらない、保険料最大50%割引の一生涯の医療保険!

序文

最近なにかとはやりの XML。データの形式を XML にすると、なにかと喜ばれるかもしれないし、なによりも今風で自己満足できる。でも、めんどくさいんじゃないの? ノンノンノン。MSXML.dll っつーのを使えば、比較的簡単っぽい。

MSXML を C++ から使う方法を考えてみる。簡単じゃん、、えーっと、どういう関数があるのよ…と思ったら、MSXML は関数をエクスポートしていないみたい。じゃあ、どうやって使うかというと、MSXML は COM を使わなきゃダメらしい。そういや、一昔前に、時代は COM だ!とかって聞いたことあったっけ。

リンク

以下のページを読んだら完璧だ。たぶん。

実験

COM オブジェクトだから、JavaScript からいじれちゃう。んなもんで、実験が簡単。

次の例は、MSXML3 を使って、ルートノードの子ノードのノード名をポップアップしていきます。

var WSHShell=WScript.CreateObject("Wscript.Shell");

var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
var currNode;
xmlDoc.async = false;
xmlDoc.resolveExternals = false;
xmlDoc.load("test.xml");
currNode = xmlDoc.documentElement;

for(i = 0; i < currNode.childNodes.length; i++)
{
	WSHShell.Popup(currNode.childNodes.item(i).nodeName);
}

次のような XML の場合、child1, child2, child3 とポップアップしていきます。

<root>
    <child1></child1>
    <child2></child2>
    <child2></child2>
</root>