`

XML String和Document的相互转换

    博客分类:
  • Java
阅读更多
在做一般的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
分享到:
评论

相关推荐

    利用pugixml 转化xml为string

    利用pugixml 转化xml为string

    XML String 转成JSON

    当我们需要在使用XML的系统和使用JSON的系统之间进行数据交互时,就需要将XML字符串转换为JSON格式。 XML是一种标记语言,它允许自定义标签来描述数据,并且支持嵌套结构。XML文档通常由元素、属性、文本内容等组成...

    xml格式的字符串转换成List

    StreamSource source = new StreamSource(new StringReader(xmlString)); ItemsWrapper wrapper = (ItemsWrapper) unmarshaller.unmarshal(source); items.addAll(wrapper.getItems()); ``` 在这里,我们创建...

    XML与DataSet的相互转换类

    在将xml文件转换为DataSet对象时,我们首先使用XmlDocument类加载xml文件,然后使用StringReader类读取xml文件内容,并将其装载到DataSet对象中。 3. 将DataSet转换为xml对象字符串 该方法将DataSet对象转换为xml...

    xml和bean之间的相互转换源码

    在Java开发中,XML(可扩展标记语言)和Bean之间的相互转换是常见的操作,尤其是在处理配置文件、数据持久化或Web服务时。这里的"bean"通常指的是JavaBeans,即符合特定设计模式的Java对象,它们封装了数据并提供了...

    如何将xml的String字符串转化标准格式的String字符串(jdom)

    JDOM(Java Document Object Model)是一个专门为Java设计的XML API,它提供了对XML文档的全面控制,包括创建、修改和读取XML文档。通过JDOM,我们可以方便地处理XML字符串,确保其符合W3C的XML规范。 在开始之前,...

    javabean和xml互相转换工具类以及jar包

    这个类可能包含静态方法,如`beanToXml(JavaBean bean)`用于将JavaBean转换为XML字符串,以及`xmlToBean(String xml)`用于将XML字符串反向转换回JavaBean。使用这样的工具类可以使代码更加简洁,提高代码复用性。 ...

    如何用Document解析XML文件

    本文将详细介绍如何利用Java标准库中的`Document`及相关类来解析和修改XML文件。 #### XML解析基础:`Document`及关联类 ##### DocumentBuilderFactory与DocumentBuilder 解析XML文件的第一步是创建`Document`...

    java转换xml、list、map和json

    "java转换xml、list、map和json" ...本文主要讲述了Java中将xml、list、map和json之间的转换的相关知识点,包括xml和map之间的转换、xml和list之间的转换、xml和json之间的转换、map和json之间的转换等。

    xml Document to Json

    本项目"XML Document to Json"着重于如何将XML文档转换为JSON格式,这对于数据处理和跨平台通信尤其重要。下面我们将深入探讨这个主题。 XML是一种标记语言,它允许定义自定义的标签来描述数据结构和内容。它的优点...

    xml和java对象互相转换的两种方法

    本文将详细介绍两种主要的XML与Java对象互相转换的方法:DOM(Document Object Model)解析和JAXB(Java Architecture for XML Binding)。 1. DOM解析: DOM是一种W3C标准,它将XML文档解析成一棵由节点组成的树,...

    java-xml相互转化

    本主题聚焦于Java与XML之间的相互转化,特别是如何利用XML文件自动生成JavaBean对象,以及Java对象到XML的序列化和反序列化过程。 首先,Java与XML的转化通常涉及两个主要步骤:解析XML文件生成Java对象和将Java...

    xml与实体类转换工具

    在Java开发中,将XML数据与Java实体类进行相互转换是非常常见的需求,这有助于简化数据处理和存储。本文将详细介绍如何使用工具类进行XML与实体类的转换,并探讨相关依赖和实现方法。 首先,XML转换为Java实体类的...

    map/list集合转化成xml字符串 xml字符串转化成map/list集合

    本篇文章将详细介绍如何将Map和List集合转换为XML字符串,以及如何将XML字符串反向转换回Map和List集合。 首先,让我们探讨`Map`集合转成XML字符串的过程。一个`Map`对象存储键值对,可以使用各种库如`JAXB (Java ...

    XML转换为JSON(支持多种方法)

    4. 使用XMLSerializer将XML转换为JSONObject:`JSONObject json = XMLSerializer.read(xmlString);` 如果是从XML Document转换,可以使用`XMLSerializer.read(document)`。 5. 转换后的JSONObject可以直接序列化为...

    根据路径取得xml节点,返回string数组

    首先,我们需要了解Java中处理XML的主要库:DOM(Document Object Model)、SAX(Simple API for XML)和JAXB(Java Architecture for XML Binding)。在这次任务中,DOM可能是最适合的方法,因为它允许我们通过路径...

    Generate XML String with Parser API.zip_API_saltucl_xml

    在IT行业中,XML(eXtensible Markup Language)是一种重要的数据交换格式,广泛应用于软件开发、数据存储和网络通信等领域。本示例“Generate XML String with Parser API.zip_API_saltucl_xml”着重介绍如何利用...

    XML和DataSet相互转换类

    它首先使用`XmlDocument`加载XML文件,然后同样通过`StringReader`和`XmlTextReader`读取XML内容并将其转化为`DataSet`。 3. `ConvertDataSetToXML(DataSet xmlDS)`: 这个方法将一个`DataSet`对象转换为XML字符串。...

    Excel与XML相互转化的Java实现

    ### Excel与XML相互转化的Java实现 #### 引言 随着信息技术的发展,数据处理与交换变得日益重要。Microsoft Excel作为一款广泛使用的数据处理工具,在办公自动化领域占据着举足轻重的地位。与此同时,XML...

    java 通过模板生成 xml,发送报文

    3. **转换为字符串**:为了发送或保存,我们需要将`Document`对象转换为字符串,这通常通过`TransformerFactory`和`Transformer`实现。 ```java TransformerFactory transformerFactory = TransformerFactory.new...

Global site tag (gtag.js) - Google Analytics