`
fjguodong
  • 浏览: 39896 次
社区版块
存档分类
最新评论

org.w3c.dom.Document对象与字符串互转

    博客分类:
  • XML
阅读更多

    由于项目需要,需要我在现有的框架中去自己生成XML文档,而现有的框架中没有用到dom4j、jdom,而客户的要求是最好不好修改现有的框架,于是如下:

 

    1. 通过JDK自带的类把org.w3c.dom.Document转化为字符串。然后再用文件输出流输出,或者直接将ByteArrayOutputStream内存流换成输出流。

/**  
 * XML org.w3c.dom.Document 转 String  
 */ 
public static String docToString(Document doc) {   
    String xmlStr = "";   
    try {   
        TransformerFactory tf = TransformerFactory.newInstance();   
        Transformer t = tf.newTransformer();   
        t.setOutputProperty("encoding", "UTF-8");// 解决中文问题,试过用GBK不行   
        ByteArrayOutputStream bos = new ByteArrayOutputStream();   
        t.transform(new DOMSource(doc), new StreamResult(bos));   
        xmlStr = bos.toString();   
    } catch (TransformerConfigurationException e) {   
        e.printStackTrace();   
    } catch (TransformerException e) {   
        e.printStackTrace();   
    }   
    return xmlStr;   
}

 

    2. 利用jdk中自带的类将字符串转化为org.w3c.dom.Document。

/**  
 * String 转 XML org.w3c.dom.Document  
 */ 
public static Document stringToDoc(String xmlStr) {   
    Document doc = null;   
    try {   
        xmlStr = new String(xmlStr.getBytes(),"UTF-8");   
        StringReader sr = new StringReader(xmlStr);   
        InputSource is = new InputSource(sr);   
        DocumentBuilderFactory factory =  DocumentBuilderFactory.newInstance();   
        DocumentBuilder builder = factory.newDocumentBuilder();   
        doc = builder.parse(is);   
    } catch (ParserConfigurationException e) {      
        e.printStackTrace();   
    } catch (SAXException e) {        
        e.printStackTrace();   
    } catch (IOException e) {   
        e.printStackTrace();   
    }   
    return doc;   
}

 

分享到:
评论

相关推荐

    w3c 生成xml 换行实例

    w3c 生成xml 换行实例是使用 Java 语言通过 DOM(Document Object Model)来生成一个 XML 文档的示例代码。下面是该示例代码的详细解释: 首先,需要导入必要的包,包括 java.io、javax.xml.parsers、javax.xml....

    javascript转换字符串为dom对象(字符串动态创建dom).docx

    JavaScript 转换字符串为 DOM 对象(字符串动态创建 DOM) 在 JavaScript 中,动态创建标准的 DOM 对象通常使用 `var obj = document.createElement('div');`,然后再给 `obj` 设置一些属性。但是,在实际使用过程...

    xml解析和生成字符串、文档的实例

    在Java中,我们可以使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`来实现这一目标。以下是一个简单的示例: ```java import javax.xml.parsers.DocumentBuilderFactory; import org.w3c....

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

    import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import javax.xml.parsers.DocumentBuilderFactory; public Map, String> xmlToMap(String xmlStr) { Document doc = ...

    javascript转换字符串为dom对象(字符串动态创建dom)

    因此,`innerHTML`是实现字符串转DOM的关键。 以下是一个简单的函数`parseDom`,它接受一个HTML字符串作为参数,通过创建一个临时的`div`元素,然后设置其`innerHTML`属性为传入的字符串,从而实现字符串到DOM的...

    htmldom_document

    DOM是W3C(万维网联盟)定义的一个标准,它将HTML或XML文档结构化为一个树形结构,使得每个元素、属性和文本都可以被独立访问和修改。 这篇名为“htmldom_document”的博文可能详细介绍了如何使用这个PHP库来操作...

    createElementNS06.rar_empty

    当`createElementNS`被调用并且提供的第一个参数(合格名称)是空字符串时,根据W3C DOM Level 2 Core规范,它应该抛出一个`INVALID_CHARACTER_ERR`异常。这个异常表明提供的字符串包含无效的字符或格式,不满足DOM...

    java的xml编程(Dom)xmlReanAndWrite.rar-基本操作

    写入XML文件的过程则与之相反,主要涉及创建新的`Document`对象、添加元素、属性和文本,然后使用`Transformer`将`Document`对象转换回XML字符串并写入文件。这同样需要`javax.xml.transform`包的支持。 解压后的`...

    Java创建xml文档笔记(DOM,DOM4J)

    - 导入必要的Java API:如`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`。 - 使用`DocumentBuilderFactory`创建`DocumentBuilder`实例。 - 通过`DocumentBuilder`的`newDocument()`方法...

    DOM、JDOM、DOM4J解析XML实例.pdf

    4. **写入文件**:最后使用 `Transformer` 将构建好的 `Document` 对象转换为 XML 字符串并保存到文件中。 #### JDOM 和 DOM4J 解析 XML **JDOM** 是一种轻量级的 API,它为 Java 开发者提供了简单直观的方式来...

    Android读写XML.doc

    - 写入XML文档通常涉及创建`Document`对象,添加元素和属性,然后使用`Transformer`将其转换成字符串或写入文件。Android SDK提供了`TransformerFactory`和`Transformer`类来实现这一过程。 6. **选择解析器** - ...

    balzeDs与java数据类型 对照表

    11. XMLDocument -> org.w3c.dom.Document:XML文档对象同样映射为Java的DOM文档。 接下来是Java到ActionScript的数据类型转换: 1. java.lang.String -> String:Java的字符串转换为ActionScript的字符串。 2. ...

    java 读取文本并解析字符串

    import org.w3c.dom.Document; import org.w3c.dom.NodeList; import org.w3c.dom.Node; import org.w3c.dom.Element; String xmlStr = "<books><book><title>Java</title></book></books>"; ...

    JAVA对xml操作

    接着,通过`parse()`方法解析XML字符串或输入源,返回一个`org.w3c.dom.Document`对象。要将XML文档转换回字符串,可以利用`TransformerFactory`和`Transformer`,设置输出编码,如`"GB2312"`,并使用`transform()`...

    dom读取xml与写入xml

    源码分析部分,以Java为例,我们可以查看`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`这两个类。`DocumentBuilderFactory`用于创建`DocumentBuilder`实例,`DocumentBuilder`则负责解析XML...

    格式化xml字符串,并生成xml文件

    import org.w3c.dom.Document; public class XMLFormatUtil { public static void formatXML(Document doc, File outputFile) throws Exception { Transformer transformer = TransformerFactory.newInstance()....

    XML的解析和创建

    Java中的`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`接口可用于实现DOM解析。例如,`MyOwnXmlDom.java`可能就是实现DOM解析的一个示例代码。 ```java import javax.xml.parsers....

    01-Android中xml转json.zip

    import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; import java.io.StringReader; public class XMLToJsonConverter { public ...

    使用dom2,sax2解析xml,使用解析器生成、转化xml,以及利用JDBC将xml中的数据与数据库交互....rar

    对于XML生成,可以使用DOM2的`Transformer`和`TransformerFactory`类将`Document`对象转换为XML字符串或写入文件。例如: ```java import javax.xml.transform.Transformer; import javax.xml.transform....

    xml与实体类转换工具

    1. **解析XML**:使用`javax.xml.parsers.DocumentBuilderFactory`和`DocumentBuilder`来解析XML字符串,生成一个`org.w3c.dom.Document`对象。 2. **创建实体类的Java类型信息**:JAXB需要知道实体类的结构,通过`@...

Global site tag (gtag.js) - Google Analytics