Java 脚本 XML Reader return 空 HTMLCollection
Java script XML Reader return empty HTMLCollection
我试图通过使用 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'));
}
returns 一个空的 HTML collection 而不是 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'));
或者,您可以替换所有出现的命名空间 :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'));
我试图通过使用 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'));
}
returns 一个空的 HTML collection 而不是 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'));
或者,您可以替换所有出现的命名空间 :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'));