Javascript 如何在xml节点内获取属性

Javascript 如何在xml节点内获取属性,javascript,xml,Javascript,Xml,我从一个更大的xml中得到了这个节点(很抱歉长度太长,希望您不要睡着): 5358a6e8-96c9-de11-9a56-00137299e1c2 0 假的 假的 坎贝因曼尼酒店 假的 假的 可以是关系中的首要实体 假的 假的 关系中的最新身份 假的 假的 cancreateattributes 假的 假的 癌症图表 假的 假的 癌症形成 假的 假的 CanCreateView 假的 假的 canenablesynctoexternalsearchindex 假的 真的 可以修改其他设置 假的

我从一个更大的xml中得到了这个节点(很抱歉长度太长,希望您不要睡着):


5358a6e8-96c9-de11-9a56-00137299e1c2
0
假的
假的
坎贝因曼尼酒店
假的
假的
可以是关系中的首要实体
假的
假的
关系中的最新身份
假的
假的
cancreateattributes
假的
假的
癌症图表
假的
假的
癌症形成
假的
假的
CanCreateView
假的
假的
canenablesynctoexternalsearchindex
假的
真的
可以修改其他设置
假的
假的
真的
真的
ממפה מנהלי אבטחה (משתמשים וצוותים) לזכויות גישה מאובטחת
לשדות.
1037
真的
ממפה מנהלי אבטחה (משתמשים וצוותים) לזכויות גישה מאובטחת
לשדות.
1037
假的
假的
假的
假的
假的
canmodifyauditsettings
假的
真的
假的
假的
假的
可以修改连接设置
假的
假的
假的
不可定制
假的
假的
假的
假的
CanModifyDuplicationDetectionSettings
假的
假的
假的
假的
假的
假的
假的
假的
canmodifymailmergesettings
假的
真的
假的
令人震惊
假的
假的
假的
假的
canmodifymobileclientreadonly
假的
真的
假的
易怒的
假的
假的
假的
假的
canmodifyqueuesettings
假的
假的
可移动性
假的
假的
canmodifymobileclientvisibility
假的
原则论坛访问地图
43
没有一个
principalattributeaccessmapid
原则论坛访问地图
假的
5.0.0.0
假的
canchangehierarchicalrelationship
假的
假的
真的
9999
原则论坛访问地图
假的
真的
可以脱机修改MobileClient
假的
我需要它的c:SchemaName子节点。今天我就是这样做的:

for (var i = 0 ; i < node.childNodes.length ; i++) {
    if (node.childNodes[i].tagName == "c:SchemaName") {
                var value = node.childNodes[i].innerHTML;         
            }
}
for(var i=0;i
有没有更好的方法可以在Javascript中实现这一点(当我有很多这样的节点时,速度会非常慢)


谢谢

我会使用内置Xpath来实现这一点:

var schemaNameValue = 
     document.evaluate('//c:SchemaName/text()', node, null, XPathResult.ANY_TYPE, null);
Xpath是您的朋友:
var schemaNameValue = 
     document.evaluate('//c:SchemaName/text()', node, null, XPathResult.ANY_TYPE, null);