二、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文档。

