如何处理错误无法读取属性' getAttribute'未定义的。我使用DOMParser
获取xml标记的type
属性。此xml标记有时可以是FirstTag
,也可以是其他时间SecondTag
。我实现这个适用于FirstTag
,但是当SecondTag
时,错误会显示在控制台中。
var parser = new DOMParser();
var content = '<root>' + content + '</root>';
xmlDoc = parser.parseFromString(content, "text/xml");
if( xmlDoc.getElementsByTagName("FirstTag")[0] == 'undefined' ){
var element = xmlDoc.getElementsByTagName("SecondTag")[0];
var type = element.getAttribute("type");
}else {
var element = xmlDoc.getElementsByTagName("FirstTag")[0];
var type = element.getAttribute("type");
}
答案 0 :(得分:1)
更好地使用xmlDoc.getElementsByTagName("FirstTag").length
而不是未定义的检查
var parser = new DOMParser();
var content1 = '<root><FirstTag type="something" /></root>';
var content2 = '<root><SecondTag type="something" /></root>';
xmlDoc = parser.parseFromString(content2, "text/xml");
if( xmlDoc.getElementsByTagName("FirstTag").length == 0 ){
var element = xmlDoc.getElementsByTagName("SecondTag")[0];
var type = element.getAttribute("type");
}else {
var element = xmlDoc.getElementsByTagName("FirstTag")[0];
var type = element.getAttribute("type");
}