Xml

xml.png

c++でXMLの読み書きをするなら?

  • MSXML
  • libxml2COLLADA DOMで使用されている。UTF-8で文字化けするのが欠点
  • Xerces…UTF-8でも文字化けしない。
  • Boost.PropertyTree(なんと!UTF-8がだめ。)
  • expat….libkmlで使用されている。

ウェブページにXMLで読み取ったデータを表示する。

javascriptのコード

function GenerateTable() {
        var xmlObj;
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
//readyState==4受信完了 status==200=ok
            xmlObj = xmlhttp.responseXML; //受信したXMLデータ
            var ingreElem = xmlObj.getElementsByTagName("ingredients");//タグ名前で要素を抽出
    }
function loadXMLData() {
    xmlhttp = new XMLHttpRequest(); //非同期通信オブジェクトを生成する。
 
    xmlhttp.open("get", "ingredients.xml", true);
    xmlhttp.send(null); //getの場合はopenのURLパラメータとして送信する。
//通信発生時。    
xmlhttp.onreadystatechange = functionname;
//functionname();ではなく、関数の名前だけじゃないと、呼び出されない。
 
}
[[/tab]]

XMLのコード

<?xml version="1.0" encoding="shift_jis"?>
<recipe name="パン">
  <title>枝豆のホットビスケット</title>
  <ingredients quantity='160' measure='g'>枝豆</ingredients>
  <ingredients quantity='50' measure='g'>バター</ingredients>
 </recipe>

HTMLのコード

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script  type="text/javascript"  src="../cooking-measure.js"></script>
 
</head>
<body onload="loadXMLData()">
</body>
</html>

サポートサイト Wikidot.com