2

私は次のものを持っています。これはWebサイトからXMLをロードし、それを解析します。

function load() {
  xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = parse;
  xhttp.open('GET', 'http://...XML.xml', false);
  xhttp.send();
}

function parse() {
  xmlDoc = xhttp.responseXML.documentElement.childNodes;
  for (var i = 0; i < xmlDoc.length; i++) {
    nodeName = xmlDoc[i].nodeName;
    ...
}

これをロードした後、localStorageに保存し、文字列として取得できます。次のように、xmlドキュメントに変換できるようにする必要があります。

xmlDoc = xhttp.responseXML.documentElement.childNodes;

そうなので、私はそれを解析することができます。私はしばらく探していましたが、それを理解することはできません。

前もって感謝します。

4

1 に答える 1

0

ここの回答に基づいて、JavaScript の変数文字列の XML 解析@tim-down へのクレジット

XML パーサーを作成する必要があります。次に、文字列を解析インスタンスに渡します。その後、以前のようにクエリを実行できるはずです。

var parseXml;

if (typeof window.DOMParser != "undefined") {
    parseXml = function(xmlStr) {
        return ( new window.DOMParser() ).parseFromString(xmlStr, "text/xml");
    };
} else if (typeof window.ActiveXObject != "undefined" &&
       new window.ActiveXObject("Microsoft.XMLDOM")) {
    parseXml = function(xmlStr) {
        var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = "false";
        xmlDoc.loadXML(xmlStr);
        return xmlDoc;
    };
} else {
    throw new Error("No XML parser found");
}

使用例:

var xml = parseXml("[Your XML string here]");
于 2012-08-29T16:02:52.520 に答える