Javascript Java脚本XML读取器返回空HTMLCollection

Javascript Java脚本XML读取器返回空HTMLCollection,javascript,xml,domparser,Javascript,Xml,Domparser,我试图通过使用DOMParser解析xml来获取所有的头标签。下面是我的代码 function fetchHeaders(text){ text = '<body><custom h:f="val"><h2></h2></custom></body>'; var parser = new DOMParser(); var xmlDoc = parser.parseFromString(text,"te

我试图通过使用DOMParser解析xml来获取所有的头标签。下面是我的代码

function fetchHeaders(text){
    text = '<body><custom h:f="val"><h2></h2></custom></body>';
    var parser = new DOMParser();
    var xmlDoc = parser.parseFromString(text,"text/xml");
    console.log(xmlDoc.getElementsByTagName('h2'));
}
函数获取标题(文本){
文本='';
var parser=新的DOMParser();
var xmlDoc=parser.parseFromString(text,“text/xml”);
log(xmlDoc.getElementsByTagName('h2');
}
返回空HTML集合,而不是
h2
标记

如果没有属性
h:f=“val”
,它可以正常工作


当标记中包含带有
的属性时,为什么标记查找失败?

xml字符串包含名称空间(:h),但没有解析为任何内容

var xmlString = '<body xmlns:h="http://www.w3.org/1999/xhtml"><custom h:f="val"><h2></h2></custom></body>';
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xmlString,"text/xml");
console.log(xmlDoc.getElementsByTagName('h2'));
var xmlString='';
var parser=新的DOMParser();
var xmlDoc=parser.parseFromString(xmlString,“text/xml”);
log(xmlDoc.getElementsByTagName('h2');
或者,您可以替换命名空间h的所有出现项

var xmlString = '<body><custom h:f="val"><h2></h2></custom></body>';
xmlString = xmlString.replace(/h:/g, "");  
var parser = new DOMParser();
var xmlDoc = parser.parseFromString(xmlString,"text/xml");
console.log(xmlDoc.getElementsByTagName('h2'));
var xmlString='';
xmlString=xmlString.replace(/h:/g,“”);
var parser=新的DOMParser();
var xmlDoc=parser.parseFromString(xmlString,“text/xml”);
log(xmlDoc.getElementsByTagName('h2');

谢谢你的好意。但它不起作用。谢谢你,吉塔兹。添加了第一种有效的方法。@Kajal很高兴它有帮助!谢谢