一、使用最原始的javax.xml.parsers,标准的jdkapi
//字符串转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), newStreamResult(bos));
String xmlStr = bos.toString();
这里的XMLDOCUMENT为org.w3c.dom.Document
二、使用dom4j后程序变得更简单
//字符串转XML
String xmlStr = /"....../";
Document document = DocumentHelper.parseText(xmlStr);
//XML转字符串
Document document = ...;
String text = document.asXML();
这里的XMLDOCUMENT为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();
这里的XMLDOCUMENT为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
http://yhaiz.blog.163.com/blog/static/7889001120098244259554/
2011-03-08 hongyz (初级程序员)
- new StringReader(doc.asXML())
new StringReader(doc.asXML())
可以得到一个Reader
- new ByteArrayInputStream(doc.asXML().getBytes("utf-8"))
new ByteArrayInputStream(doc.asXML().getBytes("utf-8"))
可以得到一个InputStream
分享到:
相关推荐
1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这是为了将字符串转换为可以被SAXBuilder读取的形式。接着,使用`InputSource`封装`StringReader`,以便SAXBuilder能够正确识别并解析XML数据。 2...
本篇文章将详细介绍如何将Map和List集合转换为XML字符串,以及如何将XML字符串反向转换回Map和List集合。 首先,让我们探讨`Map`集合转成XML字符串的过程。一个`Map`对象存储键值对,可以使用各种库如`JAXB (Java ...
本文将围绕“格式化XML字符串并生成XML文件”这一主题展开,结合提供的标签“源码”和“工具”,探讨如何通过Java编程实现这一功能。 首先,我们有两个Java源代码文件,即`XMLFileUtil.java`和`XMLFormatUtil.java`...
同样使用MSXML库,但这次需要将XML字符串转换为`BSTR`类型,然后传递给解析函数: ```cpp void parseXMLString(const char* xmlStr) { BSTR xmlBlob = _bstr_t(xmlStr); // 调用解析函数 RealPlay(xmlBlob); } ...
SaveMesToXML方法首先将字符串加载到XmlDocument对象中,然后将XmlDocument对象保存到文件中。SaveMesToXML方法返回保存的文件名。 其他知识点 * regional directive:#region和#endregion是C#中的 regional ...
8. **序列化回XML字符串**:完成解析和操作后,可能需要将`Document`对象重新转换为XML字符串,这可以通过`OutputFormat`和`XMLWriter`实现。 ```java import org.dom4j.io.OutputFormat; import org.dom4j.io.XML...
1. 加载XML字符串:首先,你需要使用PB的XML解析函数如`XMLTextToDOM`或`XMLTextToDOMEx`,将XML文本转换成DOM(Document Object Model)对象。DOM是XML文档的一种内存表示,可以方便地通过节点遍历和操作。 2. ...
要将这样的XML字符串转换为List,我们需要解析XML并将其转化为相应的Java或C#对象。这个过程通常分为以下几个步骤: 1. **解析XML**:可以使用内置库或第三方库来解析XML字符串。在Java中,可以使用DOM(Document ...
// 下面的是通过解析xml字符串的 doc = DocumentHelper.parseText(xml); // 将字符串转为XML Element rootElt = doc.getRootElement(); // 获取根节点 System.out.println("根节点:"+ rootElt.getName()); // ...
本文将深入探讨如何使用Java进行XML的解析和生成,包括处理XML字符串和XML文件。 首先,让我们从解析XML字符串开始。在Java中,我们可以使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`来...
要将XML字符串转换为Bean对象,我们首先需要创建一个Bean类,这个类的属性与XML节点相对应。例如,如果我们有以下XML字符串: ```xml <name>Yang Yong <age>30 <email>yangyong@example.com</email> ``` 我们...
这段代码会生成一个XML字符串,内容类似于: ```xml 张三 <age>30 北京 北京市 ``` 注意,JAXB默认不会生成XML声明(如`<?xml version="1.0" encoding="UTF-8"?>`),如果需要,可以设置Marshaller的...
1. DOM(Document Object Model)解析器:`DOMParser`对象允许我们将XML字符串转换为DOM树。这是一个完整的XML文档对象模型,可以方便地通过节点操作进行遍历和修改。 ```javascript let parser = new DOMParser(); ...
### XML字符串转换为Dataset知识点详解 #### 一、XML与数据处理 XML(Extensible Markup Language,可扩展标记语言)是一种用于标记数据的标准格式,它允许开发者定义自己的标签,因此非常灵活,适用于多种数据...
4. **XML字符串转实体类**:首先,可能需要将输入的XML字符串转换为`Document`对象,然后按照上述步骤进行反序列化。 5. **实体类转XML**:反之,使用`Marshaller`将Java对象序列化为XML字符串。例如,`marshaller....
### 将XML字符串转换为DataTable的知识点 #### 1. XML与DataTable简介 - **XML (Extensible Markup ...通过上述内容,我们可以深入了解如何将XML字符串转换为`DataTable`,这对于数据处理和分析是非常有用的。
当我们面临XML文档中存在嵌套子节点,并且希望将其解析为字符串时,JAXB提供了一种有效的方法。 首先,我们需要理解XML文档的基本结构。XML是一种可扩展标记语言,它通过标签来定义元素和数据,允许数据以层次结构...
与传统的XML API(如XmlDocument和XPathNavigator)相比,LINQ to XML具有更现代、更简洁的API。以下是其主要特点: 1. **XElement 和 XDocument**:这两个类是LINQ to XML的基础,分别代表XML元素和文档。它们提供...
**DOM4J 读取XML字符串** DOM4J 是一个非常强大的 Java XML API,它提供了丰富的功能,使得处理 XML 文件变得更加简单。DOM4J 的设计理念是简洁、灵活且高性能,它支持 SAX 和 DOM 解析,并提供了面向对象的接口。...
下面是一个示例代码,展示了如何将一个XML字符串转换为JDOM的`Document`对象: ```java import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; import java.io.StringReader;...