是否存在一种默认机制来获取XML Node的平面字符串表示形式
Is there a default mechanism for getting a flat string representation of an XML Node?
我不想为以下内容使用jQuery:
如果我有以下XML
<parent>
<a >some text
<b propA="foo">some more text
</b>
and more text still
</a>
</parent>
并且想调用像
这样的东西//伪…我传入节点1,因为节点0是一个无用的空文本节点…
getFlatXMLAsString (parent.childNodes [1])
并接收一个看起来像"<a>some text'n<b propA="foo">some more text'n'n</b>and more text still</a>"
请注意它是如何将XML转换为平面字符串的,但包含节点自己的开始和结束标记(如果有属性,它也会有这些属性)。
显然我可以手动完成,但我希望有一些内置的机制,可以防止我重新发明轮子。
根据这里发布的答案,跨浏览器的方式来做这个看起来像
function outerHTML(node){
// if IE, Chrome take the internal method otherwise build one
return node.outerHTML || (
function(n){
var div = document.createElement('div'), h;
div.appendChild( n.cloneNode(true) );
h = div.innerHTML;
div = null;
return h;
})(node);
}
如果我理解正确的话
在Mozilla和Webkit浏览器中,您可以使用XMLSerializer
。做个对象测试。
我不知道其他浏览器有什么功能,但他们可能有。
最坏的情况是,你必须手工编写一个函数来完成这个任务,它遍历所有节点并写入一个字符串。
相关文章:
- 如何在Node.js中根据XML验证DTD
- 如何在node.js中返回与URL请求相对应的XML文件
- 带有ajax xml请求的Node js脚本不起作用
- 如何在 Node.js 中使用 rdflib.js 或 rdf-parser-rdfxml 解析 RDF/XML
- Node.js中的XML(使用javascript)
- 在 Node JS 中使用 fs-extra 更新 xml 文件
- jQuery:将 Xml Node 设置为 DOM 元素
- 在 Node.js 中保存 XML 文件
- node.js-从大型XML文件中提取XML片段
- 如何使用Node.js解析HTML/XML文档
- node.js中XML下载后的零字节文件
- 从url解析xml文件并循环使用node.js获取其中的所有url
- 我需要一种方法来获取一些json,并使用node.js将其转换为xml
- 是否存在一种默认机制来获取XML Node的平面字符串表示形式
- 在Node.js中读取XML文件
- IE9 NOT getting 'children' of XML node
- Node + xmldom:如何在javascript中更改单个XML字段的值
- Node.js/Javascript: mocha测试失败,测试将XML解析为JSON时超时
- 什么是最好的JSON或JS对象到XML转换模块的Node JS
- 等价于JavaScript DOMParser node.xml的W3C