在做一般的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字符串转换为JSON字符串是通过解析XML字符串并构建相应的JSON对象来完成的。这个过程通常需要借助特定的库,如Java中的`org.json`。理解XML和JSON的结构差异,以及如何利用这些库进行...
"SAX解析String类型XML字符串"就是一种高效且节省内存的方式去解析XML数据,特别是当XML文件较大时,SAX解析器优于DOM解析器,因为它不需要一次性加载整个XML到内存中。下面我们将深入探讨这一主题。 首先,XML...
同样使用MSXML库,但这次需要将XML字符串转换为`BSTR`类型,然后传递给解析函数: ```cpp void parseXMLString(const char* xmlStr) { BSTR xmlBlob = _bstr_t(xmlStr); // 调用解析函数 RealPlay(xmlBlob); } ...
在本文中,我们将深入探讨如何使用Ajax与Servlet技术解析XML字符串和XML文件。Ajax(Asynchronous JavaScript and XML)是一种在不刷新整个页面的情况下与服务器交换数据并更新部分网页的技术。Servlet是Java的一种...
- 需要编写更多代码:因为需要处理一系列事件,所以开发者需要写更多的代码来处理XML数据。 - 不支持随机访问:SAX解析器不提供直接访问XML文档任意位置的功能,必须按照顺序处理。 **应用场景** - **DOM** 更适合...
本篇文章将根据提供的代码示例,详细介绍如何通过WebService接口接收XML格式的数据以及字符串类型的数据,并对相关知识点进行深入剖析。 #### 二、接收XML数据 首先,我们来看一下如何通过WebService接口接收XML...
从XML字符串获取DataSet是.NET开发中处理XML数据的一种方法,主要涉及到XML解析和DataSet对象的使用。DataSet是一个轻量级的数据存储区,可以用来存储和操作数据,它并不直接连接到数据库,但可以通过XML来填充或...
5. **Return_str**:定义了一个字符串类型变量,用于返回解析后的结果。 6. **GT_PO**:定义了一个结构,包含了与采购订单相关的多个字段,如AEDAT、LIFNR、KUNNR等。 7. **GT_PO_RESULT**:定义了一个表格类型的...
如果XML数据以字符串形式存在,可以直接使用`VALUES`语句插入: ```sql INSERT INTO xmlTable(doc) VALUES ('<dd><a>123</a></dd>'); ``` #### 3. 查询XML数据 查询XML数据时,可以使用`value()`方法来提取特定元素...
在SQL Server中,读取XML文件并对其进行处理是数据库...在SQL Server的后续版本中,如SQL Server 2005及更高版本,处理XML的功能得到了显著增强,例如引入了XML数据类型和更强大的XML方法,使得XML操作更加简便高效。
### Widget加载和解析XML字符串实例 #### 背景介绍 在现代Web开发中,Widget(小部件)作为用户界面中的一个独立组件被广泛应用。它能够实现特定功能,并且可以被轻松集成到网页中。当Widget与服务器进行交互时,...
将xml串转换成Map类型,如果有重复节点,自动转换为list类型存储,所以最终转换并非绝对Map
Mini-XML 是一个小型 XML 解析库,您可以使用它来读取应用程序中的 XML 数据文件或字符串,而无需大型非标准库 读取 UTF-8 和 UTF-16 并写入 UTF-8 编码的 XML 文件和字符串。 数据存储在链表树结构中,保留 XML ...
// 将数据转换为XML字符串 return xmlData; } } ``` - 客户端通过JAX-WS的客户端API调用此服务并处理返回的XML数据。 总结,本主题涉及的关键知识点包括XML、SOAP、WSDL、数据库操作以及XML解析。通过理解并...
本文将深入探讨“在线解析XML”与“本地解析XML”的概念及其应用场景,以及如何将XML数据从CLOB字段提取并存入数据库。 1. XML的基本概念: XML是一种自描述的、结构化的文本格式,它通过标签来定义数据结构和内容...
例如,当需要进行数学计算时,可能需要将字符串类型的数字转换为整型或浮点型。在Java中,可以使用Integer.parseInt()或Double.parseDouble()方法进行转换;在Python中,可以使用int()或float()函数。转换过程中要...
2. 使用适当的解析工具或库(如Java的词法分析器、C#的正则表达式或XML解析器)搜索字符串常量。 3. 确保正确处理文件编码,避免乱码问题。 4. 对于Designer文件,解析XML以获取控件属性,特别是与中文相关的属性。 ...
当我们需要将XML字符串解析并映射到Java Bean对象时,dom4j是一个常用的库。本篇文章将详细探讨如何使用dom4j库实现这个过程。 首先,dom4j是一个强大的Java XML API,它提供了丰富的功能,如读取、写入、修改和...
XML数据通常以字符串形式存储在数据库表中的某字段内,这种数据结构要求使用者采用特定的方法来解析XML,并将解析后的数据结构化,以便用于数据展示。 首先,需要明确FineReport支持的数据源是多种多样的,包括但不...
4. **反序列化 XML**:从 XML 字符串中恢复 Java 对象。 ```java String xmlInput = "<person><firstName>John</firstName><lastName>Doe</lastName></person>"; Person deserializedPerson = (Person) xstream.from...