簡體   English   中英

在JavaScript中解析XML,嘗試按類名獲取元素

[英]parsing XML in JavaScript, trying to get elements by classname

我正在嘗試使用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)

有任何想法嗎?

假設標簽名稱是一致的,這應該獲取給定類的所有元素。

var elements = xmlDoc.getElementsByTagName('Example');
var classArray = [];
for(var i=0;i<elements.length;i++){
    if(elements[i].className=="test"){
        classArray.push(elements[i])
}}

您可以使用JQuery通過類選擇器來解析XML文件。 http://jquery.com

將解析器類型更新為HTML而不是XML應該可以。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM