`

解析字符串类型的xml数据

    博客分类:
  • XML
阅读更多

在做一般的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 DOCUMENTorg.w3c.dom.Document

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

// 字符串转XML
String xmlStr = \"......\";
Document document = DocumentHelper.parseText(xmlStr);

// XML 转字符串
Document document = ...;
String text = document.asXML();

这里的XML DOCUMENTorg.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 DOCUMENTorg.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 DOCUMENTjavascript 版的XMLDOM

分享到:
评论

相关推荐

    将string类型xml字符串转为json字符串

    总结来说,将string类型的XML字符串转换为JSON字符串是通过解析XML字符串并构建相应的JSON对象来完成的。这个过程通常需要借助特定的库,如Java中的`org.json`。理解XML和JSON的结构差异,以及如何利用这些库进行...

    android SAX解析String类型 XML 字符串

    "SAX解析String类型XML字符串"就是一种高效且节省内存的方式去解析XML数据,特别是当XML文件较大时,SAX解析器优于DOM解析器,因为它不需要一次性加载整个XML到内存中。下面我们将深入探讨这一主题。 首先,XML...

    C++解析xml文档或者xml字符串方法

    同样使用MSXML库,但这次需要将XML字符串转换为`BSTR`类型,然后传递给解析函数: ```cpp void parseXMLString(const char* xmlStr) { BSTR xmlBlob = _bstr_t(xmlStr); // 调用解析函数 RealPlay(xmlBlob); } ...

    AjaxWithServlet解析xm字符串及xml文件

    在本文中,我们将深入探讨如何使用Ajax与Servlet技术解析XML字符串和XML文件。Ajax(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下与服务器交换数据并更新部分网页的技术。Servlet是Java的一种...

    xml解析文件的两种方式

    - 需要编写更多代码:因为需要处理一系列事件,所以开发者需要写更多的代码来处理XML数据。 - 不支持随机访问:SAX解析器不提供直接访问XML文档任意位置的功能,必须按照顺序处理。 **应用场景** - **DOM** 更适合...

    webservice接口接收xml,string代码

    本篇文章将根据提供的代码示例,详细介绍如何通过WebService接口接收XML格式的数据以及字符串类型的数据,并对相关知识点进行深入剖析。 #### 二、接收XML数据 首先,我们来看一下如何通过WebService接口接收XML...

    从XML字符串获取DataSet

    从XML字符串获取DataSet是.NET开发中处理XML数据的一种方法,主要涉及到XML解析和DataSet对象的使用。DataSet是一个轻量级的数据存储区,可以用来存储和操作数据,它并不直接连接到数据库,但可以通过XML来填充或...

    SAP解析xml abap解析xml

    5. **Return_str**:定义了一个字符串类型变量,用于返回解析后的结果。 6. **GT_PO**:定义了一个结构,包含了与采购订单相关的多个字段,如AEDAT、LIFNR、KUNNR等。 7. **GT_PO_RESULT**:定义了一个表格类型的...

    SQLServer20052008 XML数据类型操作

    如果XML数据以字符串形式存在,可以直接使用`VALUES`语句插入: ```sql INSERT INTO xmlTable(doc) VALUES ('<dd><a>123</a></dd>'); ``` #### 3. 查询XML数据 查询XML数据时,可以使用`value()`方法来提取特定元素...

    SQL Server中读取XML文件的简单做法

    在SQL Server中,读取XML文件并对其进行处理是数据库...在SQL Server的后续版本中,如SQL Server 2005及更高版本,处理XML的功能得到了显著增强,例如引入了XML数据类型和更强大的XML方法,使得XML操作更加简便高效。

    widget加载和解析xml 字符串实例

    ### Widget加载和解析XML字符串实例 #### 背景介绍 在现代Web开发中,Widget(小部件)作为用户界面中的一个独立组件被广泛应用。它能够实现特定功能,并且可以被轻松集成到网页中。当Widget与服务器进行交互时,...

    java将xml串转换成Map类型

    将xml串转换成Map类型,如果有重复节点,自动转换为list类型存储,所以最终转换并非绝对Map

    数据解析,小型 XML 解析库

    Mini-XML 是一个小型 XML 解析库,您可以使用它来读取应用程序中的 XML 数据文件或字符串,而无需大型非标准库 读取 UTF-8 和 UTF-16 并写入 UTF-8 编码的 XML 文件和字符串。 数据存储在链表树结构中,保留 XML ...

    使用WebService的方法返回xml格式的数据

    // 将数据转换为XML字符串 return xmlData; } } ``` - 客户端通过JAX-WS的客户端API调用此服务并处理返回的XML数据。 总结,本主题涉及的关键知识点包括XML、SOAP、WSDL、数据库操作以及XML解析。通过理解并...

    解析xml和本地解析xml

    本文将深入探讨“在线解析XML”与“本地解析XML”的概念及其应用场景,以及如何将XML数据从CLOB字段提取并存入数据库。 1. XML的基本概念: XML是一种自描述的、结构化的文本格式,它通过标签来定义数据结构和内容...

    类型转换与字符串拆分

    例如,当需要进行数学计算时,可能需要将字符串类型的数字转换为整型或浮点型。在Java中,可以使用Integer.parseInt()或Double.parseDouble()方法进行转换;在Python中,可以使用int()或float()函数。转换过程中要...

    解析文件中的中文字符串

    2. 使用适当的解析工具或库(如Java的词法分析器、C#的正则表达式或XML解析器)搜索字符串常量。 3. 确保正确处理文件编码,避免乱码问题。 4. 对于Designer文件,解析XML以获取控件属性,特别是与中文相关的属性。 ...

    使用dom4j将xml字符串转换成Bean对象

    当我们需要将XML字符串解析并映射到Java Bean对象时,dom4j是一个常用的库。本篇文章将详细探讨如何使用dom4j库实现这个过程。 首先,dom4j是一个强大的Java XML API,它提供了丰富的功能,如读取、写入、修改和...

    如何在FineReport中解析数据库内XML文件

    XML数据通常以字符串形式存储在数据库表中的某字段内,这种数据结构要求使用者采用特定的方法来解析XML,并将解析后的数据结构化,以便用于数据展示。 首先,需要明确FineReport支持的数据源是多种多样的,包括但不...

    XStream解析字符串不同的标签

    4. **反序列化 XML**:从 XML 字符串中恢复 Java 对象。 ```java String xmlInput = "<person><firstName>John</firstName><lastName>Doe</lastName></person>"; Person deserializedPerson = (Person) xstream.from...

Global site tag (gtag.js) - Google Analytics