当前位置:实例文章 » JAVA Web实例» [文章]二、Java框架基础02 XML

二、Java框架基础02 XML

发布人:shili8 发布时间:2025-02-14 07:37 阅读次数:0

**Java框架基础02 XML**

XML(Extensible Markup Language)是一种用于数据交换和存储的标记语言。它允许定义自己的标签和属性,使其成为一个非常灵活和强大的工具。

在Java中,XML被广泛使用于配置文件、数据交换等方面。在本文中,我们将重点讨论Java中的XML相关知识。

###2.1 XML基本概念####2.1.1 XML元素XML元素是XML文档的基本组成部分。每个元素都有一个名称和一些属性。例如:

xml<person id="123">
 <name>John</name>
 <age>30</age>
</person>


在上面的例子中,`person` 是一个元素,它有一个 `id` 属性和两个子元素: `name` 和 `age`。

####2.1.2 XML属性XML属性是用于描述元素的特定信息。例如:

xml<person id="123" name="John">
 <age>30</age>
</person>


在上面的例子中,`id` 和 `name` 是两个属性,它们描述了 `person` 元素。

####2.1.3 XML文档结构XML文档的基本结构如下:

xml

 



在上面的例子中,`` 是XML文档的头部, `root` 是根元素。

###2.2 Java中的XML####2.2.1 XML解析器Java提供了多种XML解析器,例如:

* `org.w3c.dom.Document`
* `javax.xml.parsers.SAXParser`
* `javax.xml.parsers.DOMParser`

这些解析器可以帮助我们解析XML文档。

####2.2.2 XML生成器Java提供了多种XML生成器,例如:

* `javax.xml.parsers.DocumentBuilderFactory`
* `javax.xml.parsers.SAXParserFactory`

这些生成器可以帮助我们生成XML文档。

###2.3 Java中的XML示例####2.3.1 XML解析器示例
javaimport org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;

import javax.xml.parsers.DocumentBuilderFactory;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;

public class XmlParserExample {
 public static void main(String[] args) throws Exception {
 String xml = "<person id="123"><name>John</name><age>30</age></person>";

 Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder()
 .parse(new StringReader(xml));

 Element root = document.getDocumentElement();

 NodeList nodeList = root.getElementsByTagName("name");

 List<String> names = new ArrayList<>();

 for (int i =0; i < nodeList.getLength(); i++) {
 names.add(nodeList.item(i).getTextContent());
 }

 System.out.println(names);
 }
}


在上面的例子中,我们使用 `DocumentBuilderFactory` 解析XML文档,然后获取根元素和名称元素的列表。

####2.3.2 XML生成器示例
javaimport javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.SAXParserFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;

public class XmlGeneratorExample {
 public static void main(String[] args) throws Exception {
 String name = "John";
 int age =30;

 Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder()
 .newDocument();

 Element root = document.createElement("person");
 document.appendChild(root);

 Element nameElement = document.createElement("name");
 nameElement.setTextContent(name);
 root.appendChild(nameElement);

 Element ageElement = document.createElement("age");
 ageElement.setTextContent(String.valueOf(age));
 root.appendChild(ageElement);

 Transformer transformer = TransformerFactory.newInstance().newTransformer();
 DOMSource source = new DOMSource(document);
 StreamResult result = new StreamResult(System.out);

 transformer.transform(source, result);
 }
}


在上面的例子中,我们使用 `DocumentBuilderFactory`生成XML文档,然后使用 `Transformer` 将其输出到控制台。

###2.4 总结本文介绍了Java中的XML基本概念、解析器和生成器,以及示例代码。通过阅读本文,读者应该能够理解Java中的XML相关知识,并能够使用XML解析器和生成器来处理XML文档。

其他信息

其他资源

Top