在web项目中,XML作为一种重要的数据存储和传输介质,被广泛使用。XML文件,XML字符串和XML Document对象是XML存在的三种形式,XML文件无需多言,和普通的文本并无二致;倒是在做一般的XML数据交换过程中,经常要使用XML字符串和XML Document对象,因此在这两种形式之间进行转化成为了使用XML的必备技术。在所有操控XML的技术中,都提供了这两种形式XML之间的转换方法。
下面我就各种XML技术对此问题的解决方法做个总结,和大家分享,也方便自己今后查阅。
一,使用JDOM(这是我最常使用的一种技术)
1.字符串转Document对象
String xmlStr = ".....";
StringReader sr = new StringReader(xmlStr);
InputSource is = new InputSource(sr);
Document doc = (new SAXBuilder()).build(is);
2.Document对象转字符串
Format format = Format.getPrettyFormat();
format.setEncoding("gb2312");//设置xml文件的字符为gb2312,解决中文问题
XMLOutputter xmlout = new XMLOutputter(format);
ByteArrayOutputStream bo = new ByteArrayOutputStream();
xmlout.output(doc,bo);
String xmlStr = bo.toString();
注:Document为org.jdom.Document
二,使用最原始的javax.xml.parsers,标准的jdk api
1.字符串转Document对象
String xmlStr = "......";
StringReader sr = new StringReader(xmlStr);
InputSource is = new InputSource(sr);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc = builder.parse(is);
2.Document对象转字符串
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
t.setOutputProperty("encoding","GB23121");//解决中文问题,试过用GBK不行
ByteArrayOutputStream bos = new ByteArrayOutputStream();
t.transform(new DOMSource(doc), new StreamResult(bos));
String xmlStr = bos.toString();
注:Document为org.w3c.dom.Document
三,使用dom4j(这是最简单的方法)
1.字符串转Document对象
String xmlStr = "......";
Document document = DocumentHelper.parseText(xmlStr); 2.Document对象转字符串
Document document = ...;
String text = document.asXML();
注:Document为org.dom4j.Document
四,在JavaScript中的处理
1.字符串转Document对象
var xmlStr = ".....";
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(xmlStr);
//可以处理这个xmlDoc了
var name = xmlDoc.selectSingleNode("/person/name");
alert(name.text); 2.Document对象转字符串
var xmlDoc = ......;
var xmlStr = xmlDoc.xml
注:Document为javaScript版的XMLDOM
本文出自http://yangfei520.blog.51cto.com/1041581/382977
分享到:
相关推荐
// 下面的是通过解析xml字符串的 doc = DocumentHelper.parseText(xml); // 将字符串转为XML Element rootElt = doc.getRootElement(); // 获取根节点 System.out.println("根节点:"+ rootElt.getName()); // ...
DOM的类:XmlNode、Xmldocument和XmlElement等; Xpath的类:XmlNavigator;XSLT的类:XslTransform。 显示XML文件内容 用C#编程实现显示XML文件中信息的方法是使用.NET提供的标准类把XML文件内容读入一个...
利用pugixml 转化xml为string
但是我对它进行了测试,发现有很多错误,或者是函数过期,或者是替换字符串写错,还有对javascript的转换函数中缺少对”\”的转换.于是对其进行了修正,然后测试就成功了!比如我上面的例子,若使用该组件的话只需要: ...
将XML数据转化为JSON格式 ...XmlDocument doc = new XmlDocument(); //doc.LoadXml(@"<root>aaa</root>"); doc.Load(@"C:\xxx.xml"); // Convert XML to a JSON string string JSON = Converter.XmlToJSON(doc);
JS解析XML文件 [removed] loadXML = function(xmlFile){ ...var xmlDomVersions = ['MSXML.2.DOMDocument.6.0','MSXML.2.DOMDocument.3.0','Microsoft.XMLDOM']; for(var i=0;i<xmlDomVersions.length;i++){ try{ x
在做一般的XML数据交换过程中,我更乐意传递XML字符串,而不是格式化的XML ...这就涉及到XML字符串和Xml Document的转换问题,说白了这是个很简单的问题,本文就各种XML解析器分别列举如下,以方便自己今后查阅。
1、读取XML字符串:例如: 代码如下:$(document).ready(function(){ var xml = “<xml><root><record><name>liubl</name></record><record><name>chencp</name></root></xml>”;//var xml=”<table><tr...
XML和JavaBean相互转化是一个非常有用的工作,用来读写xml的组件很多,比如dom4j, sax, JDom,Digester等,但是很多组件用起来很麻烦,今天给大家推荐一个超级简单的组件JOX, JOX是一套用户XML document和Java ...
domino通过lotusscript解析xml,支持xml文件、流及字符串,可以使用对象的方式访问创建xml,如:xmldocument.标签1.子标签3.getvalue
代码如下:[removed]$(document).ready(function() { $.ajax({ url: ‘http://www.test.net/cgi/test.xml’, dataType: ‘xml’, success: function(data){ //console.log(data); $(data).find(“channel”)....
在js中同样有方法可以将字符串转化为xml对象,可以使用如下函数 以下是引用片段: 代码如下: function createXml(str){ if(document.all){ var xmlDom=new ActiveXObject(“Microsoft.XMLDOM”) xmlDom.loadXML(str...
分别针对ie和火狐分别作了对xml文档和xml字符串的解析,所有代码都注释掉了,想看哪部分功能,去掉注释就可以了。至于在ajax环境下解析xml,其实原理是一样的,只不过放在了ajax里,还是要对返回的xml进行解析。 ...
//声明xml字符串 String fileString = ""; //创建DAO对象 MachineroomDao machineroom_dao = new MachineroomDao(); Cab_equipmentDao cab_equipment_dao = new Cab_equipmentDao(); Equip_...
VB_解析xml文件,只写了读取。VB_解析xml文件,只写了读取
function loadXMLByString(xmlString)针对两种浏览器,分别由字符串获取xmlDocument对象 function ImportXML(xmlDoc,alertString)导入XML模板文件 function ExportFile()导出模板,并命名模板 function ...
用3种方式把我们得到的记录集转换成XML格式: 1)可以遍历整个记录集,采用XML DOM(Document Object Model),建立XML节点树;...2)第二个办法,遍历记录集,直接生成XML字符串本身; 3)第三种方法:可重用的方法。
window.DOMParser && window.ActiveXObject) { var xmlDomVersions = [‘MSXML.2.DOMDocument.6.0’, ‘MSXML.2.DOMDocument.3.0’, ‘Microsoft.XMLDOM’]; for (var i = 0; i < xmlDomVersions.length; i++) { ...
XSLT,是用于对XML进行文档格式转换,把一个XML文档转换成另一种格式的XML文档,但是其中内容是不变的。 &2.DTD(Document Type Difinition DTD文档是用于规定XML文档的结构。只有结构符合所引用的DTD文件的XML文件...
Java XML文件操作类:Dom4jHelper源代码文件下载,实现的功能:解析url xml文档,遍历解析文档,遍历解析元素,解析文件,获得根元素,修改xml某节点的值,输出...字符串转换为Document等,我觉得还是相当 实用的XML操作类。