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