由于项目需要,需要我在现有的框架中去自己生成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 换行实例是使用 Java 语言通过 DOM(Document Object Model)来生成一个 XML 文档的示例代码。下面是该示例代码的详细解释: 首先,需要导入必要的包,包括 java.io、javax.xml.parsers、javax.xml....
JavaScript 转换字符串为 DOM 对象(字符串动态创建 DOM) 在 JavaScript 中,动态创建标准的 DOM 对象通常使用 `var obj = document.createElement('div');`,然后再给 `obj` 设置一些属性。但是,在实际使用过程...
在Java中,我们可以使用`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`来实现这一目标。以下是一个简单的示例: ```java import javax.xml.parsers.DocumentBuilderFactory; import org.w3c....
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 = ...
因此,`innerHTML`是实现字符串转DOM的关键。 以下是一个简单的函数`parseDom`,它接受一个HTML字符串作为参数,通过创建一个临时的`div`元素,然后设置其`innerHTML`属性为传入的字符串,从而实现字符串到DOM的...
DOM是W3C(万维网联盟)定义的一个标准,它将HTML或XML文档结构化为一个树形结构,使得每个元素、属性和文本都可以被独立访问和修改。 这篇名为“htmldom_document”的博文可能详细介绍了如何使用这个PHP库来操作...
当`createElementNS`被调用并且提供的第一个参数(合格名称)是空字符串时,根据W3C DOM Level 2 Core规范,它应该抛出一个`INVALID_CHARACTER_ERR`异常。这个异常表明提供的字符串包含无效的字符或格式,不满足DOM...
写入XML文件的过程则与之相反,主要涉及创建新的`Document`对象、添加元素、属性和文本,然后使用`Transformer`将`Document`对象转换回XML字符串并写入文件。这同样需要`javax.xml.transform`包的支持。 解压后的`...
- 导入必要的Java API:如`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`。 - 使用`DocumentBuilderFactory`创建`DocumentBuilder`实例。 - 通过`DocumentBuilder`的`newDocument()`方法...
4. **写入文件**:最后使用 `Transformer` 将构建好的 `Document` 对象转换为 XML 字符串并保存到文件中。 #### JDOM 和 DOM4J 解析 XML **JDOM** 是一种轻量级的 API,它为 Java 开发者提供了简单直观的方式来...
- 写入XML文档通常涉及创建`Document`对象,添加元素和属性,然后使用`Transformer`将其转换成字符串或写入文件。Android SDK提供了`TransformerFactory`和`Transformer`类来实现这一过程。 6. **选择解析器** - ...
11. XMLDocument -> org.w3c.dom.Document:XML文档对象同样映射为Java的DOM文档。 接下来是Java到ActionScript的数据类型转换: 1. java.lang.String -> String:Java的字符串转换为ActionScript的字符串。 2. ...
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>"; ...
接着,通过`parse()`方法解析XML字符串或输入源,返回一个`org.w3c.dom.Document`对象。要将XML文档转换回字符串,可以利用`TransformerFactory`和`Transformer`,设置输出编码,如`"GB2312"`,并使用`transform()`...
源码分析部分,以Java为例,我们可以查看`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`这两个类。`DocumentBuilderFactory`用于创建`DocumentBuilder`实例,`DocumentBuilder`则负责解析XML...
import org.w3c.dom.Document; public class XMLFormatUtil { public static void formatXML(Document doc, File outputFile) throws Exception { Transformer transformer = TransformerFactory.newInstance()....
Java中的`javax.xml.parsers.DocumentBuilderFactory`和`org.w3c.dom.Document`接口可用于实现DOM解析。例如,`MyOwnXmlDom.java`可能就是实现DOM解析的一个示例代码。 ```java import javax.xml.parsers....
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 ...
对于XML生成,可以使用DOM2的`Transformer`和`TransformerFactory`类将`Document`对象转换为XML字符串或写入文件。例如: ```java import javax.xml.transform.Transformer; import javax.xml.transform....
首先,我们需要了解JDK中处理XML的主要API,包括`javax.xml.parsers`包下的`DocumentBuilderFactory`和`DocumentBuilder`,以及`org.w3c.dom`包下的`Document`接口。这些API提供了一种基于W3C DOM(文档对象模型)的...