| このページの内容 |
|---|
| 序文 |
| リンク |
| 実験 |
| ありがたいスポンサー様 |
|---|
最近なにかとはやりの 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>