当我们写入xml时(就是把我们的数据写入到xml对应的标签里):
1.建立一个text.xml
<?xml version="1.0" encoding="UTF-8"?>
<Books>
<Book>
<Price></Price>
<Title></Title>
</Book>
</Books>
2.
package xml;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;
public class XMLWriter {
private String fileName;
private Document document;
public XMLWriter(String fileName) throws Exception {
this.fileName = fileName;
createXmlDocument();
}
private void createXmlDocument() throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
document = builder.newDocument();
}
public Element createDocumentElement(String name) {
Element root = document.createElement(name);
document.appendChild(root);
return root;
}
public Element createElement(Element parent, String tagName, String text) {
Element element = document.createElement(tagName);
if (text != null && text.length() > 0) {
element.setTextContent(text);
}
parent.appendChild(element);
return element;
}
public void toSave() throws Exception {
TransformerFactory factory = TransformerFactory.newInstance();
factory.setAttribute("indent-number", new Integer(4));// 设置缩进长度为4
Transformer transformer = factory.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");// 设置自动换行
DOMSource source = new DOMSource(document);
transformer.transform(source, new StreamResult(new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(fileName), "UTF-8"))));
}
public static void main(String[] args) {
String fileName = "E:\\test.xml";
System.out.println(fileName);
try {
XMLWriter writer = new XMLWriter(fileName);
Element root = writer.createDocumentElement("Books");
Element book = writer.createElement(root, "Book", "");
writer.createElement(book, "Price", "52.00");
Element title = writer.createElement(book,"Title","test.xml");
title.setAttribute("Auth", "yy");
writer.toSave();
} catch (Exception e) {
e.printStackTrace();
}
byte[] bytes ;
File file = new File("E:\\test.xml");
if (file.exists()) {
if (file.isFile()) {
try {
BufferedReader input = new BufferedReader(new FileReader(file));
StringBuffer buffer = new StringBuffer();
String text;
while ((text = input.readLine()) != null)
buffer.append(text + "\n");
System.err.println("===="+buffer.toString());
bytes = buffer.toString().getBytes();
} catch (IOException ioException) {
System.err.println("File Error!");
}
}
}
//这样就有byte[]数组了,你就可以返回了
}
}
分享到:
相关推荐
"使用XmlWriter写入XML文档"这一主题涉及到以下几个关键知识点: 1. **XmlWriter类**:`XmlWriter`是.NET Framework中的一个抽象类,它是实现XML写入的基础。通过继承`TextWriter`或`Stream`,`XmlWriter`可以将XML...
1. `xmlwriter_open_uri()` 或 `xmlwriter_open_memory()`: 打开一个写入目标,前者将XML输出到文件,后者将XML保存在内存中。 2. `xmlwriter_start_element()`, `xmlwriter_end_element()`: 开始和结束一个元素节点...
本文将详细介绍两种使用C#来创建并写入XML文件的方法。 ### 方法一:使用XmlWriter **XmlWriter**是.NET Framework提供的一个类,专门用于创建XML文档。它提供了一种高效、流式的方式,可以逐步构建XML文档。 1. ...
DOM4J提供了`XMLWriter`类来完成这个任务,它可以按照指定的格式(如缩进、换行)将`Document`对象写入文件: ```java OutputFormat format = OutputFormat.createPrettyPrint(); // 创建格式化对象,这里设置为...
### 将数据从DataSet写入XML文件 在.NET框架中,`DataSet`是用于存储从数据库获取的数据的一个对象。为了方便地将数据保存为XML格式,可以利用`DataSet`对象的功能将其导出到XML文件中。这对于数据交换、备份或进行...
本主题聚焦于如何使用C#将分层次的类数据写入XML文件。 首先,理解“分层次的类”意味着类结构包含嵌套的类或属性,形成了一种树状或层级的结构。在C#中,可以创建这样的类来表示复杂的对象模型,例如,一个员工类...
XMLWriter是用于创建和编辑XML文档的一个工具,它在IT领域中扮演着重要的角色,特别是在数据交换、存储和配置文件的生成中。XML(可扩展标记语言)是一种结构化数据格式,广泛应用于软件开发、网络服务和数据分析。...
以下是对使用C#中XmlWriter写入XML的深入分析: 1. **写入XML文档声明** XML文档的开头通常包含文档声明,它定义了文档的版本和是否独立。使用`WriteStartDocument`方法可以写入文档声明。例如: ```csharp xml...
写入XML文件涉及到创建或修改XML文档。`XmlTextWriter`类可以帮助我们写出XML结构。首先,创建一个`XmlTextWriter`实例,指定输出文件路径,然后调用其`WriteStartDocument`、`WriteElementString`等方法来构建XML...
在这个实例中,可能会使用到XmlTextWriter或XmlWriter来创建和写入XML文件,这两个类允许开发者以编程方式生成XML结构。 用户注册信息通常包括用户名、密码、邮箱、手机号等。在ASP.NET中,这些信息可能来自网页...
2. XML文件的创建、读取和写入,可能使用了System.Xml命名空间下的类,如XmlDocument或XmlWriter。 3. 用户界面设计,尤其是使用Wizard控件来创建多步骤的用户流程。 4. 验证码的实现,可能涉及随机生成和图像显示...
3. **XmlNodeReader** 和 **XmlWriter**:用于流式读取和写入XML文档,效率较高,但不如DOM灵活。 4. **XDocument** 和 **LINQ to XML**:.NET Framework 3.5及以后版本引入,提供更简洁的API,便于使用LINQ查询XML...
首先创建一个`XmlWriterSettings`实例,设置所需的编码和格式化选项,然后使用`XmlWriter.Create()`方法创建`XmlWriter`实例。接着,开始写入XML文档的根元素,然后在遍历文件时添加文件信息。 ```csharp using ...
Visual C# XMLWriter XML读取器,可了解到如何使用C#写XML声明,引用样式,写DOCTYPE声明,写一个元素(根元素)、写入 CDATA、写标记元素、缓冲器内的内容写入文件,将XML文件的内容显示在控制台中。 运行环境:...
这段代码创建了一个`XmlTextWriter`对象,并使用它逐行写入XML文档,包括元素、属性和文本节点。与使用`XmlDocument`相比,这种方法提供了更多的灵活性,但同时也需要更多的手动编码。 ### 总结 通过以上两种方法...
1. **流式写入**:XMLWriter支持逐个元素地写入XML,无需一次性加载整个文档到内存中,这对于处理大型XML文档特别有用,可以避免内存消耗过大。 2. **格式化输出**:可以控制XML的格式,例如缩进、换行等,使得生成...
读写xml的方式,主要围绕XMLWriter和XMLReader进行,前者用于生成xml,后者则是用来读取并解析xml 写入 xml test_xml_write.php <?php /** * mimvp.com * 2017.06.22 */ header(Content-type: text/html; ...
XMLWriter writer = new XMLWriter(out); writer.write(doc); writer.close(); out.close(); ``` 以上是使用dom4j进行XML读写的基础步骤。在实际应用中,还可以进行更复杂的数据操作,如修改元素属性、插入和删除...
例如,`XmlDocument`类用于加载、操作和保存XML文档,`XmlNode`和它的子类代表XML文档的节点结构,`XmlNodeReader`和`XmlWriter`则用于读写XML。 ### 增加XML节点 增加XML节点主要涉及创建新节点和将其插入到现有...