String和Document相互转换⼀、使⽤最原始的l.parsers,标准的jdk api
// 字符串转XML
String xmlStr = /"....../";
StringReader sr = new StringReader(xmlStr);
InputSource is = new InputSource(sr);
DocumentBuilderFactory factory = wInstance();
DocumentBuilder wDocumentBuilder();
Document doc = builder.parse(is);
//XML转字符串
TransformerFactory  tf  =  wInstance();
Transformer t = tf.newTransformer();
t.setOutputProperty(/"encoding/",/"GB23121/");//解决中⽂问题,试过⽤GBK不⾏ByteArrayOutputStream  bos  =  new  ByteArrayOutputStream();
String xmlStr = String();
//这⾥的XML DOCUMENT为org.w3c.dom.Document
⼆、使⽤dom4j后程序变得更简单
// 字符串转XML
String xmlStr = /"....../";
Document document = DocumentHelper.parseText(xmlStr);
// XML转字符串
Document document = ...;
String text = document.asXML();
//这⾥的XML DOCUMENT为org.dom4j.Document
三、使⽤JDOM
JDOM的处理⽅式和第⼀种⽅法处理⾮常类似
//字符串转XML
String xmlStr = /"...../";
StringReader sr = new StringReader(xmlStr);
InputSource is = new InputSource(sr);
Document doc = (new SAXBuilder()).build(is);
//XML转字符串
Format format = PrettyFormat();
format.setEncoding(/"gb2312/");//设置xml⽂件的字符为gb2312,解决中⽂问题
dom4j读取xml
XMLOutputter xmlout = new XMLOutputter(format);
ByteArrayOutputStream bo = new ByteArrayOutputStream();
xmlout.output(doc,bo);
String xmlStr = bo.toString();
//这⾥的XML DOCUMENT为org.jdom.Document
四、JAVASCRIPT中的处理
//字符串转XML
var xmlStr = /"...../";
var xmlDoc = new ActiveXObject(/"Microsoft.XMLDOM/");
xmlDoc.async=false;
xmlDoc.loadXML(xmlStr);
/
/可以处理这个xmlDoc了
var name = xmlDoc.selectSingleNode(/"/person/name/");
);
//XML转字符串
var xmlDoc = ......;
var xmlStr = l
//这⾥的XML DOCUMENT为javascript版的XMLDOM。
本站系本⼈编辑转载,转载⽬的在于传递更多信息,并不代表本⼈赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30⽇内与本⼈联系,我将在第⼀时间删除内容![声明]本站⽂章版权归原作者所有 内容为作者个⼈观点 本站只提供参考并不构成任何投资及应⽤建议。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。