xml与String相互转换

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

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

// 字符串转XML

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


//XML转字符串

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

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

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

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

  三、使用JDOM

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

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

 四、JAVASCRIPT中的处理

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

猜你在找的XML相关文章