[英]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.