-
dom4j解析SOAP型xml文件命名空间的问题15
po.xml:
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:LST_SBRResponse xmlns:ns1="http://www.xxx.com/a/"> <ns1:Result> <ns1:ResultCode>0</ns1:ResultCode> <ns1:ResultDesc>Operation succeeded.</ns1:ResultDesc> <ns1:ResultData> <ns1:Table1> <ns1:Item> <ns1:GRPIDX>65535</ns1:GRPIDX> <ns1:SCADDRIDX>65535</ns1:SCADDRIDX> <ns1:CDNOCB>0</ns1:CDNOCB> <ns1:PBTSBR> <ns1:PBXID /> <ns1:ISPILOT>0</ns1:ISPILOT> <ns1:ISSHARESRV>0</ns1:ISSHARESRV> </ns1:PBTSBR> <ns1:KVALUE>255</ns1:KVALUE> <ns1:INPFIDX>65535</ns1:INPFIDX> </ns1:Item> </ns1:Table1> </ns1:ResultData> </ns1:Result> </ns1:LST_SBRResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
java:
SAXReader saxReader = new SAXReader(); Document document = saxReader.read(test.class.getResourceAsStream("po.xml")); DefaultXPath xpath = new DefaultXPath("//ns1:Item"); xpath.setNamespaceURIs(Collections.singletonMap("ns1","http://www.xxx.com/a/")); List list = xpath.selectNodes(document); Iterator iterator = list.iterator(); int i = 1; while (iterator.hasNext()) { Element node = (Element) iterator.next(); System.out.println(i++ + node.getName()); }
我想取出<ns1:Item>中所有元素
可是出来的只有Item
请教如何解决?
问题补充:引入的包:
import java.util.Collections;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.xpath.DefaultXPath;2012年7月12日 09:32
相关推荐
了解DOM4J库的其他功能,如XPath查询、命名空间处理等,可以帮助更高效地处理复杂SOAP消息。 总之,DOM4J是处理XML文档的强大工具,包括解析和操作SOAP消息。通过熟悉其API和XML结构,开发者可以轻松地从SOAP消息中...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的解析、创建、查询和操作变得简单。在本文中,我们将深入探讨DOM4J 1.6.1版本的核心特性、使用方法以及如何在实际项目中应用这个...
2. **命名空间处理** - DOM4J可以处理XML文档中的命名空间,这对于处理复杂的XML标准如SOAP和XML Schema至关重要。 3. **事件处理** - 可以注册监听器来响应XML解析过程中的特定事件,如元素开始、结束等。 4. **DTD...
3. **Namespace**:处理XML命名空间。 4. **Document**:整个XML文档的根对象,包含了文档的元信息和元素树。 5. **XPath**:用于执行XPath查询,找到XML文档中的特定节点。 6. **Reader和Writer**:负责XML文档的...
7. **命名空间(Namespaces)支持**:DOM4J提供了对XML命名空间的完整支持,这对于处理包含命名空间的XML文档非常重要。 8. **文档对象模型(DOM)接口**:DOM4J的API设计使得可以很容易地与标准DOM API进行互操作...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效的API,使得XML的读取、创建、修改和分析变得简单易行。在Java世界中,XML作为一种数据交换格式,广泛应用于配置文件、数据传输和文档存储等领域...
5. **命名空间(Namespace)**:DOM4J支持处理XML命名空间,这对于处理如SOAP、XHTML等包含命名空间的XML文档至关重要。 6. **事件处理(Event)**:DOM4J也提供了基于事件的处理模型,可以监听XML解析过程中的事件...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高性能的API,使得开发者可以方便地读取、写入、修改以及操作XML文件。DOM4J的知识点涵盖了许多方面,包括基本概念、核心组件、使用场景以及与其他XML...
- **Web服务开发**:在构建和解析SOAP消息时,DOM4J是常用工具。 - **配置文件处理**:例如处理Spring框架中的XML配置文件。 - **数据交换**:XML作为一种通用的数据交换格式,DOM4J可以简化这一过程。 - **XML文档...
DOM4J支持SAX和DOM解析器,并提供了XPath支持,使得在XML文档中查找元素变得更加方便。此外,DOM4J还提供了事件驱动的解析方式,适用于大文件的处理,避免一次性加载整个XML到内存。 2. **XML解析** - **SAX解析**...
- Web服务:在SOAP等基于XML的Web服务中,DOM4J用于解析和生成响应消息。 总结,DOM4J是一个强大且易用的XML处理库,通过提供的API可以轻松实现XML的解析、创建、修改和查询。在Java开发中,尤其是处理XML相关任务...
SAX解析器适用于大文件,按事件驱动逐个处理XML节点,而DOM解析器则一次性加载整个文档到内存,适用于小文件或内存充足的情况。 #### 2.2 创建XML文档 DOM4J提供了API来动态创建XML文档,包括添加元素、属性和文本...
例如,使用Java的DOM解析器`javax.xml.parsers.DocumentBuilderFactory`可以创建`Document`对象,然后通过`getElementsByTagName`、`getAttribute`等方法进行查询。 2. SAX(Simple API for XML)解析:SAX是一种...
在处理SOAP XML报文时,我们可能遇到一些规范性问题,例如节点首字母大小写的转换,以及节点命名空间前缀的添加与剔除。本文将深入探讨这些问题,并提供相应的解决方案。 首先,关于SOAP XML报文中的节点首字母大小...
4. DOM4J还支持命名空间、事件处理、转换(如XML到HTML)、XSLT样式表处理等功能,极大地扩展了XML处理的能力。 三、DOM4J的特点 1. 面向对象:DOM4J将XML文档结构映射为一系列的Java对象,使得操作XML就像操作...
- **DOM解析**:DOM将整个XML文档加载到内存中,形成一个树形结构,可以方便地遍历和修改文档,但不适合处理大文件。 - **SAX解析**:SAX是一种事件驱动的解析方式,只读取XML文档的部分内容,不保存整个文档结构,...
6. **命名空间(Namespace)**:处理XML文档时,DOM4J提供了处理命名空间的能力,这对于处理包含多个前缀的复杂文档至关重要。 **DOM4J的主要功能** 1. **解析XML**:DOM4J提供多种解析器,如SAXReader和DOMReader,...
- Web服务:在处理SOAP消息时,DOM4J可以用来解析和构建XML消息。 DOM4J的API文档详细覆盖了这些功能,每个类和方法都有清晰的说明,对于开发者来说,无论是初学者还是资深程序员,都是宝贵的参考资料。通过深入...
3. **DOM解析**:提供了一个轻量级的DOM实现,可以快速构建和操作XML文档对象模型。 4. **XPath支持**:通过XPath表达式,可以方便地定位并操作XML文档中的节点。 5. **XML Schema支持**:能够验证XML文档是否符合...
4. **Namespace对象**:DOM4J支持命名空间(Namespace),这对于处理XML文档中的复杂结构至关重要。 5. **XPath支持**:DOM4J提供了对XPath表达式的支持,允许通过简单的字符串查询XML文档中的特定元素或属性。 **...