需要解析node的值,网上找了十几篇文章基本上没有完全符合的样例,基本上node都是在meter节点上的。于是自己参照写了一个样例
<?xml version="1.0" encoding="UTF-8"?>
<METERS>
<METER>
<AMMETERNO NODE="电表编码"></AMMETERNO>
</METER>
<METER>
<METERNO NODE="电表编码"></METERNO>
</METER>
</METERS>
import java.io.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;
public class XMLReader {
public void paseXml(String filepath) throws Exception {
try {
File f = new File("D:/jiexi2.xml");
DocumentBuilderFactory factory=DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(f);
// Element root = doc.getDocumentElement();
// NodeList nl1 = root.getElementsByTagName("AMMETERNO");
// Element e = (Element) nl1.item(0);
// String hlrId=e.getAttribute("NODE");
// System.out.println(hlrId);
//新的测试
Element element = doc.getDocumentElement();
NodeList METERs = element.getElementsByTagName("METER");
for(int i=0;i<METERs.getLength();i++){
Element bookElement = (Element) METERs.item(i);
NodeList childNodes = bookElement.getChildNodes();
for(int j=0;j<childNodes.getLength();j++){
Node node = childNodes.item(j);
if (node.getNodeType()== Node.ELEMENT_NODE){
childNodes.item(j).getAttributes();
Element c1 = (Element)childNodes.item(j);
String hlrId3=c1.getAttribute("NODE");
System.out.println(childNodes.item(j).getNodeName() +" :2");
System.out.println(hlrId3+ " :3");
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
输出结果
AMMETERNO :2
电表编码 :3
METERNO :2
电表编码 :3
分享到:
相关推荐
标题“java_dom解析xml xml java”表明了本文档的主题是关于如何使用Java中的DOM技术来解析XML文件。 #### 描述分析 描述中提到这是一个适合新手入门的内容,并给出了一个简单的XML示例。该XML文档包含了一个`...
Java 中有多种方法可以解析 XML 文档,其中最常用的两种方法是使用基于事件的 XML 简单 API(Simple API for XML,SAX)和基于树和节点的文档对象模型(Document Object Model,DOM)。Sun 公司提供了 Java API for ...
接着,我们使用 Document 对象的 getElementsByTagName() 方法获取了所有的 book 节点,然后遍历每个 book 节点,获取其名称、值和类型,并获取其属性和子节点。 在实际应用中,DOM 解析 XML 文件的过程可以应用于...
// 获取子节点 NodeList li = e.getElementsByTagName("add"); System.out.println(li.item(0).getFirstChild().getNodeValue()); } ``` #### 四、异常处理 在使用 Java DOM 进行文件解析时,可能会遇到以下...
### Java中使用DOM解析XML详解 #### 一、引言 在Java开发中,解析XML是一种常见的需求。XML(Extensible Markup Language,可扩展标记语言)作为一种数据存储和传输的标准格式,在不同系统间的数据交换中扮演着...
Java中的DOM解析是处理XML文档的一种常见方法,它将整个XML文档加载到内存中,形成一个树形结构,便于对XML进行全方位的操作,包括增、删、改、查。在这个"java DOM解析xml操作大全,增删改查"的主题中,我们将深入...
在本教程中,我们将深入探讨如何使用DOM4J解析(读取)XML节点数据,不受XML层级的限制。 首先,确保你已经下载了必要的依赖,即DOM4J库。通常,这将是一个名为`dom4j-x.x.x.jar`的文件,其中x.x.x是DOM4J的版本号...
DOM解析会一次性加载整个XML文档到内存,适合小规模的XML;SAX解析则采用事件驱动,逐行读取,适合处理大规模的XML文件。 - 解析XML的基本步骤:创建解析器工厂,通过工厂创建解析器,解析器读取XML文件并生成...
例如,通过NodeList接口可以获取元素的所有子节点。 6. **XML文档创建**:DOM不仅用于解析现有XML文档,还可以用来动态创建新的XML文档。通过Document的createElement、createTextNode等方法,可以从零开始构建XML...
DOM4J是一个强大的Java库,用于处理XML文档,包括读取、写入、修改和解析。本篇文章将深入探讨如何利用DOM4J解析SOAP消息中的元素,以便在实际项目中进行有效的数据提取和操作。 首先,理解SOAP消息的结构至关重要...
这个XMLUtil工具类包含了解析XML文件、获取根元素、读取属性值、遍历子元素以及使用XPath查找元素等常用操作。你可以根据实际需求扩展此工具类,添加更多的功能,例如创建新的XML文档、修改现有元素等。 使用这个...
Java DOM(Document Object Model)是Java处理XML文档的一种标准方式,它将XML文档解析成一个树形结构,每个XML元素、属性和文本内容都对应树中的一个节点。DOM提供了丰富的API,允许开发者对XML进行增、删、改、查...
DOM解析器将XML文档解析成一系列节点,这些节点代表了XML文档的各个部分,如元素、属性、文本等。在Java中,`javax.xml.parsers.DocumentBuilderFactory` 和 `org.w3c.dom.Document` 类是实现DOM解析的关键。 首先...
以下是一个使用Java DOM解析XML的步骤: 1. 引入必要的库: 需要引入`javax.xml.parsers`包,包含DOM解析器的主要类。 2. 创建解析器工厂: 使用`DocumentBuilderFactory`创建一个解析器工厂实例,然后通过`...
5. 对于DOM解析,可以使用`getChildNodes()`方法获取元素的子节点列表,通过遍历这些子节点,可以访问XML文档的每一个部分。 6. 对于每个元素节点,可以使用`getAttributes()`方法获取其属性,`getNamedItem()`方法...
DOM解析XML时,会将整个XML文档加载到内存中,形成一棵由节点构成的树形结构,每个节点代表XML文档的一部分,如元素、属性、文本等。 首先,了解DOM解析的基本步骤: 1. 加载XML文档:使用Java的`...
5. **事件驱动解析(SAX)**:除了传统的DOM解析外,DOM4J还支持SAX解析器,这种解析方式适用于处理大型XML文件,因为它不需要一次性加载整个文档到内存。 6. **Namespace支持**:DOM4J提供了对XML命名空间的全面...
解析XML时,`DocumentBuilder`会构建一个DOM树,然后可以通过DOM API查询和修改树中的节点。 总结一下,Java DOM提供了一套全面的API来处理XML文档,包括创建、修改和读取XML结构。尽管DOM操作相对消耗资源,但其...
5. 内容获取与修改:使用`getTextContent()`获取节点的文本内容,`setTextContent()`修改节点内容,`appendChild()`、`removeChild()`和`insertBefore()`等方法可以添加、移除和插入子节点。 ```java Node ...