- Java XML 教程
- Java XML 首页
- Java XML 概述
- Java XML 解析器
- Java DOM 解析器
- Java DOM 解析器
- 解析 XML 文档
- 查询 XML 文档
- 创建 XML 文档
- 修改 XML 文档
- Java SAX 解析器
- Java SAX 解析器
- 解析 XML 文档
- 查询 XML 文档
- 创建 XML 文档
- 修改 XML 文档
- JDOM XML 解析器
- JDOM XML 解析器
- 解析 XML 文档
- 查询 XML 文档
- 创建 XML 文档
- 修改 XML 文档
- Java StAX 解析器
- Java StAX 解析器
- 解析 XML 文档
- 查询 XML 文档
- 创建 XML 文档
- 修改 XML 文档
- Java XPath 解析器
- Java XPath 解析器
- 解析 XML 文档
- 查询 XML 文档
- 创建 XML 文档
- 修改 XML 文档
- Java DOM4J 解析器
- Java DOM4J 解析器
- 解析 XML 文档
- 查询 XML 文档
- 创建 XML 文档
- 修改 XML 文档
- Java XML 有用资源
- Java XML - 问题与解答
- Java XML - 快速指南
- Java XML - 有用资源
- Java XML - 讨论
Java DOM4J 解析器 - 创建 XML 文档
Java DOM4J 库包含用于创建 XML 文档的类、接口和方法。org.dom4j 包中的 Document 和 Element 接口具有创建 XML 文档的方法。org.dom4j.io 包中的 XMLWriter 类将文档的 XML 内容写入文件。在本章中,我们将使用这些接口和类来创建 XML 文件。
使用 Java DOM4J 解析器创建 XML
以下是使用 Java DOM4J 解析器创建 XML 文档的步骤:
- 步骤 1:创建新的文档
- 步骤 2:创建和添加 XML 元素
- 步骤 3:创建 FileOutputStream
- 步骤 4:将 XML 文档写入文件
- 步骤 5:打印 XML 文档
步骤 1:创建新的文档
org.dom4j 包的 DocumentHelper 类提供了一些辅助方法来使用 DOM4J。createDocument() 方法创建一个新文档,如下所示:
Document document = DocumentHelper.createDocument();
步骤 2:创建和添加 XML 元素
我们可以使用 addElement() 方法创建根元素并将其添加到 XML 文档中。同样,我们可以使用相同的 addElement() 方法将子元素添加到根元素中。要添加属性,我们使用 addAttribute() 方法。
Element root = document.addElement( "root_ele_name" ); Element child = root.addElement("child_ele_name").addAttribute("attr_name", "attr_val");
步骤 3:创建 FileOutputStream
要将 XML 文档的内容复制到文件中,我们需要创建一个 FileOutputStream,如下所示:
FileOutputStream newFile = new FileOutputStream("D://newDOM4jFile.xml");
步骤 4:将 XML 文档写入文件
XMLWriter 类具有 write() 方法,用于将 XML 文档写入指定的文件。我们还可以将我们想要添加到内容中的格式作为第二个参数传递给 write() 方法。
XMLWriter writer = new XMLWriter(newFile); writer.write( document );
步骤 5:打印 XML 文档
要打印 XML 文档的内容,我们可以将 System.out 作为第一个参数传递,将格式作为第二个参数传递。createPrettyPrint() 方法在显示时创建 XML 元素的正确缩进。此步骤是可选的,可用于测试目的。
OutputFormat format = OutputFormat.createPrettyPrint(); XMLWriter consoleWriter = new XMLWriter( System.out, format ); consoleWriter.write( document );
创建 XML 文件
addElement() 方法可以与 Document 或 Element 接口一起使用。此方法将元素名称作为参数,并将其添加到指定的文档或元素中。要添加根元素,我们使用 Document.addElement(root_ele_name)。
addAttribute() 方法将属性名称作为第一个参数,将值作为第二个参数。它将属性添加到指定的元素中。
addText() 方法将文本内容添加到元素中。它将文本内容作为字符串,并将其添加到相应的元素中。
示例
使用上面讨论的方法,我们将创建一个 XML 文件,其中“cars”作为根元素,company 作为其属性。让我们添加两个“carname”元素,其中“type”作为属性。
我们需要创建以下 cars.xml 文件:
<?xml version = "1.0" encoding = "UTF-8"?> <cars> <supercars company = "Ferrari"> <carname type = "formula one">Ferrari 101</carname> <carname type = "sports">Ferrari 202</carname> </supercars> </cars>
以下 CreateXMLDemo.java 程序创建一个文档,并使用 addElement() 方法添加元素,使用 addAttribute() 方法添加属性。要设置文本内容,使用 addText() 方法。文档的 XML 内容被传输到一个文件,并在控制台上打印。
package java_xml_dom4j; import java.io.FileOutputStream; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.XMLWriter; public class CreateDemo { public static void main(String[] args) { try { //Creating a new Document Document document = DocumentHelper.createDocument(); //Creating and Adding XML elements Element root = document.addElement( "cars" ); Element supercarElement = root.addElement("supercars") .addAttribute("company", "Ferrai"); supercarElement.addElement("carname") .addAttribute("type", "Ferrari 101") .addText("Ferrari 101"); supercarElement.addElement("carname") .addAttribute("type", "sports") .addText("Ferrari 202"); //Creating a FileOutputStream FileOutputStream newFile = new FileOutputStream("D://newDOM4jFile.xml"); //Writing the XML document into file XMLWriter writer = new XMLWriter(newFile); writer.write( document ); //Printing the XML document OutputFormat format = OutputFormat.createPrettyPrint(); XMLWriter consoleWriter = new XMLWriter( System.out, format ); consoleWriter.write( document ); } catch (Exception e) { e.printStackTrace(); } } }
输出
输出窗口显示 XML 内容如下:
<?xml version = "1.0" encoding = "UTF-8"?> <cars> <supercars company = "Ferrari"> <carname type = "formula one">Ferrari 101</carname> <carname type = "sports">Ferrari 202</carname> </supercars> </cars>