Javascript Java脚本XML读取器返回空HTMLCollection
我试图通过使用DOMParser解析xml来获取所有的头标签。下面是我的代码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
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很高兴它有帮助!谢谢