xml与String相互转换

前端之家收集整理的这篇文章主要介绍了xml与String相互转换前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、使用最原始的javax.xml.parsers,标准的jdk api

// 字符串转XML

  1. StringxmlStr=\"......\";
  2. StringReadersr=newStringReader(xmlStr);
  3. InputSourceis=newInputSource(sr);
  4. DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();
  5. DocumentBuilderbuilder=factory.newDocumentBuilder();
  6. Documentdoc=builder.parse(is);


//XML转字符串

  1. TransformerFactorytf=TransformerFactory.newInstance();
  2. Transformert=tf.newTransformer();
  3. t.setOutputProperty(\"encoding\",\"GB23121\");//解决中文问题,试过用GBK不行
  4. ByteArrayOutputStreambos=newByteArrayOutputStream();
  5. t.transform(newDOMSource(doc),newStreamResult(bos));
  6. StringxmlStr=bos.toString();

这里的XML DOCUMENT为org.w3c.dom.Document

  二、使用dom4j后程式变得更简单

  1. //字符串转XML
  2. StringxmlStr=\"......\";
  3. Documentdocument=DocumentHelper.parseText(xmlStr);
  4. //XML转字符串
  5. Documentdocument=...;
  6. Stringtext=document.asXML();
  7. 这里的XMLDOCUMENT为org.dom4j.Document

  三、使用JDOM

JDOM的处理方式和第一种方法处理很类似

  1. //字符串转XML
  2. StringxmlStr=\".....\";
  3. StringReadersr=newStringReader(xmlStr);
  4. InputSourceis=newInputSource(sr);
  5. Documentdoc=(newSAXBuilder()).build(is);
  6. //XML转字符串
  7. Formatformat=Format.getPrettyFormat();
  8. format.setEncoding(\"gb2312\");//配置xml文档的字符为gb2312,解决中文问题
  9. XMLOutputterxmlout=newXMLOutputter(format);
  10. ByteArrayOutputStreambo=newByteArrayOutputStream();
  11. xmlout.output(doc,bo);
  12. StringxmlStr=bo.toString();
  13. 这里的XMLDOCUMENT为org.jdom.Document

 四、JAVASCRIPT中的处理

[javascript] view plain copy print ?
  1. //字符串转XML
  2. varxmlStr=\".....\";
  3. varxmlDoc=newActiveXObject(\"Microsoft.XMLDOM\");
  4. xmlDoc.async=false;
  5. xmlDoc.loadXML(xmlStr);
  6. //能够处理这个xmlDoc了
  7. varname=xmlDoc.selectSingleNode(\"/person/name\");
  8. alert(name.text);
  9. //XML转字符串
  10. varxmlDoc=......;
  11. varxmlStr=xmlDoc.xml
  12. 这里的XMLDOCUMENT为javascript版的XMLDOM

猜你在找的XML相关文章