2

JavaScriptを使用して大きなXMLファイルを解析しようとしています。オンラインで見ると、開始する最も簡単な方法は、ブラウザーのDOMパーサーを使用することです。これは機能し、IDで要素を取得できます。これらの要素の「class」属性を取得することもでき、期待どおりの値が返されます。ただし、クラスごとに要素を取得できないようです。

最新のChromeでは次のことが試されました。

xmlString = '<?xml version="1.0"?>';
xmlString = xmlString + '<example class="test" id="example">content</example>'

parser = new DOMParser();
xmlDoc = parser.parseFromString(xmlString,"text/xml");

xmlDoc.getElementById("example");    
      // returns the example element (good)

xmlDoc.getElementById("example").getAttribute("class");
      // returns "test" (good)

xmlDoc.getElementsByClassName("test");
      // returns [] (bad)

何か案は?

4

3 に答える 3

1

これは、タグ名が一貫していると仮定して、特定のクラスのすべての要素を取得する必要があります。

var elements = xmlDoc.getElementsByTagName('Example');
var classArray = [];
for(var i=0;i<elements.length;i++){
    if(elements[i].className=="test"){
        classArray.push(elements[i])
}}
于 2012-05-08T18:09:17.150 に答える
0

JQueryを使用すると、クラスセレクターを使用してXMLファイルを解析できます。 http://jquery.com

于 2012-05-08T18:02:42.100 に答える
0

XMLではなくHTMLにパーサータイプを更新すると機能するはずです。

parser = new DOMParser();
xmlDoc = parser.parseFromString(xmlString,"text/html")
于 2016-12-30T00:47:00.157 に答える