加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml与String相互转换

发布时间:2020-12-16 09:21:53 所属栏目:百科 来源:网络整理
导读:一、使用最原始的javax.xml.parsers,标准的jdk api // 字符串转XML [java] view plain copy print ? StringxmlStr= "......" ; StringReadersr= new StringReader(xmlStr); InputSourceis= new InputSource(sr); DocumentBuilderFactoryfactory=DocumentB

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

// 字符串转XML

[java] view plain copy print ?
  1. StringxmlStr="......";
  2. StringReadersr=newStringReader(xmlStr);
  3. InputSourceis=newInputSource(sr);
  4. DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();
  5. DocumentBuilderbuilder=factory.newDocumentBuilder();
  6. Documentdoc=builder.parse(is);


//XML转字符串

[java] view plain copy print ?
  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后程式变得更简单

[java] view plain copy print ?
  1. //字符串转XML
  2. StringxmlStr="......";
  3. Documentdocument=DocumentHelper.parseText(xmlStr);
  4. //XML转字符串
  5. Documentdocument=...;
  6. Stringtext=document.asXML();
  7. 这里的XMLDOCUMENT为org.dom4j.Document

  三、使用JDOM

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

[java] view plain copy print ?
  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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读