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