如何从字符串解析 XML dom
How to parse a XML dom from a string?
可以
从头开始构建一个XML DOM:
var data = document.implementation.createDocument("", "", null);
data.appendChild(data.createElement("data"));
但是我找不到从字符串(不是URL)构建XML DOM的方法:
var data = document.implementation.createDocument("", "", null);
data.parse_document("<data/>");
我是否必须从头开始编写parse_document
或者它是否以某种方式可用?
从您问题中的代码来看,您似乎是在浏览器上执行此操作。
如果是这样,您可以使用DOMParser
(如果可用),回退(在 IE 上)到活动的 X 对象。
function parseXML(str) {
var xmlDoc, parser;
if (window.DOMParser) {
parser = new DOMParser();
xmlDoc = parser.parseFromString(str, "text/xml");
} else {
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.loadXML(str);
}
return xmlDoc;
}
请注意,parseXML
将在无效 XML 上引发异常。
除了T.J Crowder的回答之外,The Definitive Guide还包括第三个选项:
var url = 'data:text/xml;charset=utf-8,' + encodeURIComponent(text);
var request = new XMLHttpRequest();
request.open('GET', url, false);
if (request.overrideMimeType) {
request.overrideMimeType("text/xml");
}
request.send(null);
return request.responseXML;
相关文章:
- IE 9压缩XML DOM中的空白空间
- 从XML字符串创建DOM元素,如何使用.getElementsByName()
- 使用Internet Explorer检索XML DOM对象的URI
- 如何从字符串解析 XML dom
- 在javascript中获取xml dom子元素
- UIWebView是否允许XML DOM解析器
- XML解析器/从XML节点列表创建一个XML DOM文档
- WWAHost 不加载 XML DOM 文档 6.0
- 创建 XML DOM 元素,同时保持区分大小写
- IE9中的XML DOM子节点不支持for.in语句
- XML DOM, PHP sending 1's to XML?
- xml DOM documentElement property
- 什么是xml dom名称空间,为什么一些dom方法在它们的末尾有NS
- Boost Asio HTTP服务器无法处理XML DOM
- 如何创建自封闭元素javascript XML DOM
- HTML DOM 和 XML DOM 有什么区别
- XML DOM中缺少节点——一个简单的示例
- regarding xml dom
- XML dom tree 等效于 Xcode 中的 XML Dom 树
- 使用javascript将XML DOM保存回服务器文件