`

JAVA读取,控制XML

阅读更多
有此XML文件,文件名为:Test1XMLDocument,此文件的路径为(E:/JavaProject/JavaStudy/src/com/xml/Test1XMLDocument.xml)

此XML内容为下:

<?xml version="1.0" encoding="UTF-8"?>

<root>

    <people>
        <abb>
            <name>xiaobai</name>
            <age>26</age>
        </abb>
        <faimly>
        	<name>pef</name>
        	<num>3</num>
        </faimly>
    </people>

</root>



使用JAVA来读取此XML的信息。


首先,我们需要读取此XML文件,我们创建一个DocumentBuilderFactory对象factory。之后在根据此factory创建一个builder对象



DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();


有了创建好的builder对象,我们就可以把XML文件读入了,这里有3种读入方式,分别为:

1.从文件中:
File file= ...;
Document document = builder.parse(file);


2.从一个URL读取:
URL url= ...;
Document document = builder.parse(url);


3.从一个指定的任意输入流:
InputStream in=...;
Document document = builder.parse(in);


以下代码就是描述XML文件从文件中获取:

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        Document document = builder.parse(new File("E:/JavaProject/JavaStudy/src/com/xml/Test1XMLDocument.xml"));


正确读入XML文件后,我们就可以对此XML文件进行操作了。我们可以使用org.w3c.dom包下的Document接口对其进行控制(关于Document接口提供的方法,可以查看JDK文档)。

现在,我们可以使用document接口下的getDocumentElement()方法来获取此XML文件的根元素,来分析此XML的内容。

具体代码:(这里的document为刚以上代码获取的document实例)

Element root = document.getDocumentElement();


获取了XML文件里的根元素之后,我们就可以来查找此XML的子节点了:

 NodeList list = root.getChildNodes();
        for (int i = 0; i < list.getLength(); i++) {
        	Node element = (Node) list.item(i);
            System.out.println(element);
}


打印出:

[#text:

    ]
[people: null]
[#text:

]

这里的输出多出了

[#text:

    ]

[#text:

]

这里表面此XML文件中有空格,如果把上面的XML文件改成如下形式:

<?xml version="1.0" encoding="UTF-8"?>

<root><people>
        <abb>
            <name>xiaobai</name>
            <age>26</age>
        </abb>
        <faimly>
        	<name>pef</name>
        	<num>3</num>
        </faimly>
</people></root>


在次运行,结果将为:

[people: null]


找到原因了,修改代码,去掉空格:

NodeList list = root.getChildNodes();
        for (int i = 0; i < list.getLength(); i++) {
        	Node element = (Node) list.item(i);
		//去掉XML里的空格。
        	if(element instanceof Element ){
    	    	System.out.println(element);
    	}	


现在输出:

[people: null]

现在,我们修改以下以上的XML文件:

<?xml version="1.0" encoding="UTF-8"?>

<root>
	<people>
		<abb>
			<name>xiaobai</name>
			<age>26</age>
		</abb>
		<faimly>
			<name>pef</name>
			<num>3</num>
		</faimly>
	</people>
	<bug>
		<name>css</name>
		<deep>8</deep>
	</bug>
</root>



现在,在执行一下以上的代码:

NodeList list = root.getChildNodes();
        for (int i = 0; i < list.getLength(); i++) {
        	Node element = (Node) list.item(i);
		//去掉XML里的空格。
        	if(element instanceof Element ){
    	    	System.out.println(element);
    	}	


现在输出:

[people: null]
[bug: null]

从这里可以看出,我们根据得到的NodeList list的实例,根据item方法进行对list的索引,得到了root下的儿子(子节点)。


分享到:
评论

相关推荐

    用java读取修改xml文件的代码实现

    本文将详细介绍如何使用Java来读取和修改XML文件,主要涉及以下几个核心知识点: 1. **DOM解析器**: Document Object Model(DOM)是一种将XML文档转换为内存中的树形结构的方法,使得可以遍历和修改XML文件。...

    Java读写xml,word,xml文件(防乱码)

    ### Java读写XML、Word与TXT文件:去除乱码问题详解 #### 一、引言 在实际开发过程中,我们经常需要处理各种类型的文件,包括XML、Word文档以及普通的文本文件(如TXT)。这些文件在读写过程中经常会遇到乱码问题,...

    用java读取xml文件的四种方法

    要读取XML文件,Java提供了多种方法。以下是四种常用的方法,每种都有其适用场景和特点: 1. **DOM解析器(Document Object Model)** DOM解析器将整个XML文件加载到内存中,创建一个树形结构,允许我们通过节点...

    java读取本地xml文件信息

    总结起来,Java读取本地XML文件涉及的主要步骤包括创建`DocumentBuilderFactory`,构建`DocumentBuilder`,解析XML文件为`Document`对象,然后通过`Document`对象访问和操作XML结构。对于复杂需求,XPath可以提供更...

    java读取xml文件

    Java 读取 XML 文件是 Java 开发中常见的一项任务,XML(eXtensible Markup Language)作为一种可扩展标记语言,广泛用于数据交换、配置存储等领域。本教程将深入讲解如何在 Java 中处理 XML 文件,同时涉及 XML 的 ...

    Xml.zip_JAVA读取xml_XML读取_java_saxreader

    Java作为一种强大的编程语言,提供了多种方式来读取和操作XML文档,其中包括DOM(Document Object Model)、SAX(Simple API for XML)和StAX(Streaming API for XML)。本教程将重点介绍如何使用SAXReader在Java中...

    java读写xml文件

    ### Java读写XML文件知识点详解 #### 一、概述 在Java编程中,对XML文件进行读取与写入是一项非常常见的任务。XML(可扩展标记语言)是一种用于标记数据的语言,非常适合用来存储和传输数据。Java提供了多种API来...

    java中读写XML文件

    在Java编程语言中,XML(eXtensible Markup Language)是一种重要的数据交换格式,用于存储和...在提供的"在java中读写XML文件.ppt"和"源码"中,可能包含了更多详细的步骤和示例代码,可以帮助你进一步理解这个主题。

    java读取 配置 xml文件

    本篇文章将深入探讨如何在Java中读取XML配置文件,以及如何实现一个简易版的Spring框架。 首先,我们需要导入Java的DOM(Document Object Model)库,它提供了处理XML文档的标准API。在Java中,我们通常使用`javax....

    java读取和写入xml文件

    在Java中,处理XML文件主要有四种方式:DOM(Document Object Model)、SAX(Simple API for XML)、StAX(Streaming API for XML)以及JAXB(Java Architecture for XML Binding)。下面将详细介绍这四种方法。 1....

    java导入导出xml文件

    3. StAX解析:使用`XMLInputFactory`创建`XMLStreamReader`,然后逐个读取XML事件,如`StartElement`, `Characters`, `EndElement`等。StAX允许程序员控制解析过程,适合流式处理和低内存应用。 对于导出XML文件,...

    JAVA高手解析XML配置文件的读取操作.pdf

    JAVA 高手解析 XML 配置文件的读取操作 本文主要讲解了 Java 中如何读取 XML 配置文件,并对 XML 解析器进行了分类,分别介绍了 DOM 和 SAX 两种解析方式的特点和使用场景,并提供了一个使用 SAX 解析器读取 XML ...

    用java读取txt文件和xml文件

    对于“用java读取excel的xml格式文件”,虽然Java标准库没有直接支持Excel的XML格式,但我们可以借助第三方库,如Apache POI。然而,这个场景下描述的更多像是对XML文件的操作,而非直接处理Excel数据。如果你确实...

    XML.rar_XML java_java call_java xml_xml 读写_xml读写 java

    至于“xml读写_java”,Java提供了多种方式来读写XML文件。使用DOM解析器,可以创建DocumentBuilder实例,然后使用parse()方法解析XML文件得到Document对象,再通过getElementsByTagname()等方法获取元素,最后用...

    java http 发送xml报文(java发送xml报文实例+参数)

    发送完XML后,读取服务器返回的响应码和响应体: ```java int responseCode = connection.getResponseCode(); System.out.println("Response Code : " + responseCode); BufferedReader in = new ...

    java读取XMl数据

    以上就是Java读取XML数据的主要方法。选择哪种方式取决于具体的需求,如处理大型XML文件时,SAX和StAX更为高效;而如果需要频繁查询和修改XML结构,DOM和DOM相关的库可能更适合。在实际开发中,可以根据项目规模、...

    Java读写xml java 读写xml文件操作, 简单易懂

    ### Java读写XML文件操作详解 在现代软件开发中,XML(可扩展标记语言)是一种广泛使用的数据交换格式,尤其在处理配置文件、数据存储以及跨平台数据交换时显得尤为重要。Java提供了多种读写XML文件的方法,包括SAX...

    java利用jdom读取xml文件

    JDOM,全称为Java Document Object Model,是一种专为Java设计的XML处理API,它提供了对XML文档结构的完整映射,使得我们可以方便地创建、读取和修改XML文件。下面将详细介绍如何使用JDOM来读取XML文件。 首先,...

    java解析xml字符串

    这包括了如何将XML字符串转换为可读写的数据结构,以及如何遍历、读取和修改XML文档的元素和属性。这对于在Java应用程序中处理动态生成或外部提供的XML数据非常有用。掌握这一技能,开发者能够更有效地集成XML数据...

Global site tag (gtag.js) - Google Analytics