xml和String转换

转载 2015年11月20日 15:03:59


xml与String相互转换

在做一般的XML数据交换过程中,我更乐意传递XML字符串,而不是格式化的XML Document。这就涉及到XML字符串和Xml Document的转换问题,说白了这是个非常简单的问题,本文就各种XML解析器分别列举如下,以方便自己今后查阅。

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

// 字符串转XML
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);

//XML转字符串
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();

这里的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 = Format.getPrettyFormat();
format.setEncoding(\"gb2312\");//设置xml文件的字符为gb2312,解决中文问题
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\");
alert(name.text);

//XML转字符串
var xmlDoc = ......;
var xmlStr = xmlDoc.xml

这里的XML DOCUMENT为javascript版的XMLDOM


string 转化xml xml转化为string

一、使用最原始的javax.xml.parsers,标准的jdk api    // 字符串转XML    String xmlStr = \"......\"; String...
  • arui_email
  • arui_email
  • 2012年06月29日 17:41
  • 69372

java xml和string互相转换

使用开源jar包 dom4j package com.webdesk.swing.powertable.util; import java.io.ByteArrayInputStr...
  • sjdl9396
  • sjdl9396
  • 2011年10月13日 14:03
  • 9488

string 转化xml xml转化为string

转自:http://blog.csdn.net/arui_email/article/details/7703424 一、使用最原始的javax.xml.parsers,标准的jdk api  ...
  • cai7095576
  • cai7095576
  • 2014年09月14日 22:07
  • 3881

最原始的方式实现String与xml的转换

直接就是一个代码实例,可直接运行看效果,注释也标注的差不多了 package XmlOrString; import java.io.ByteArrayOutputStream; i...
  • hai_cheng001
  • hai_cheng001
  • 2013年11月06日 23:14
  • 2305

XML的解析和XML字符串互转的方法

原作者上一共讲述了四中转换XML的方法,但是我觉得方法只要会一种就好,而且是那种最简单的,这个也是软件设计本身的原则,一方面为了软件开发便利,另一方面也对效率方面的要求不是特别高,我自己最喜欢用dom...
  • gengyazhou123
  • gengyazhou123
  • 2016年07月04日 22:08
  • 4510

XML文件转换成字符串互相转换操作

System.Xml.XmlDocument doc = new System.Xml.XmlDocument();//新建对象 doc.LoadXML("filePath");//doc.Load ...
  • u011555996
  • u011555996
  • 2016年11月23日 17:11
  • 3634

JAVA使用Dom4j实现字符串和xml文件相互转换

在文章《JAVA 使用Dom4j 解析XML》中,介绍了使用Dom44j解析XML,比如节点的遍历...
  • yyywyr
  • yyywyr
  • 2014年08月03日 21:39
  • 37842

xml字符串转换为xml文档并解析。

  • 2014年10月17日 16:55
  • 1KB
  • 下载

java如何把String转换成xml

java如何把String转换成xml  1、直接拼接字符串,如下StringBuffer xml = new StringBuffer();xml.append("...
  • gxflh
  • gxflh
  • 2017年03月20日 14:08
  • 578

dom4j把String类型的XML数据转换成Document

SAXReader saxReader = new SAXReader(); Document document = saxReader.read(new ByteArrayInpu...
  • xiaxiaorui2003
  • xiaxiaorui2003
  • 2009年04月19日 13:38
  • 6022
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:xml和String转换
举报原因:
原因补充:

(最多只允许输入30个字)