xml文件内容如下:
<?xml version="1.0" standalone="yes"?>
<NewData>
<xs:schema id="NewData" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="NewData">
<xs:complexType>
<xs:element name="Table">
<xs:complexType>
<xs:sequence>
<xs:element name="A0101" type="xs:string" />
<xs:element name="A0102" type="xs:string" />
<xs:element name="A0103" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:complexType>
</xs:element>
</xs:schema>
<Table>
<A0101>1</A0101>
<A0102>2</A0102>
<A0103>3</A0103>
</Table>
</NewDataSet>
java代码如下:
/**
* configFileName : 文件的存放路径
* @param configFileName
*/
public void config(String configFileName){
this.configFileName = configFileName;
SAXReader reader = new SAXReader();
Document document;
try {
//下面三行是最关键,将命名空间添加到xpath中,如果xpath路径不带命名空间,只需要取消如下三行代码,其他代码同样使用。
Map<String, String> nameSpaceMap = new HashMap<String, String>();
nameSpaceMap.put("xs", "http://www.w3.org/2001/XMLSchema");
reader.getDocumentFactory().setXPathNamespaceURIs(nameSpaceMap);
document = reader.read(configFileName);
configDBConfig(document);
} catch (DocumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void configDBConfig(Document document) throws Exception {
//获得xs:sequence节点下所有子节点信息
Element element1 = (Element)document.selectSingleNode ("NewData/xs:schema/xs:element/xs:complexType/xs:element/xs:complexType/xs:sequence");
if(null == element1){return;}
List elements1 = element1.elements();
for (Iterator it = elements1.iterator(); it.hasNext();) {
Element e = (Element) it.next();
System.out.println("name = "+e.attribute("name").getText() + " type = "+e.attribute("type").getText());
}
}
分享到:
相关推荐
此外,DOM4J还支持命名空间、XPath表达式以及转换为其他XML格式(如SAX或DOM)的能力。 XPath是W3C制定的一种查询语言,用于在XML文档中查找信息。它可以定位到XML文档中的特定节点,如元素、属性、文本等。XPath...
5. **事件驱动解析(SAX)**:除了传统的DOM解析外,DOM4J还支持SAX解析器,这种解析方式适用于处理大型XML文件,因为它不需要一次性加载整个文档到内存。 6. **Namespace支持**:DOM4J提供了对XML命名空间的全面...
本教程将重点讨论如何使用Java库Demo4j与XPath一起工作,以解析XML文件中的路径表达式。 首先,我们需要理解XPath的基本概念。XPath使用路径表达式来选取XML文档中的节点,这些路径表达式类似于文件系统中的路径。...
5. **XPath(路径表达式)**:DOM4J支持XPath,这是一种强大的查询语言,可以用来定位XML文档中的特定节点。 6. **DocumentBuilderFactory和DocumentBuilder**:这两个类用于创建和配置DOM4J解析器。 7. **Reader...
DOM4J提供了一个名为`XPath`的类,用于解析和执行XPath表达式。以下是一些基本使用步骤: 1. **创建XPath对象**:首先,你需要通过`DocumentHelper.createXPath(expression)`方法创建一个`XPath`对象,其中`...
5. **命名空间支持**:处理带有命名空间的XML文档时,DOM4J可以有效地管理命名空间。 6. **事件驱动**:DOM4J支持SAX的事件驱动模型,适合处理大文件,避免一次性加载整个文档到内存中。 7. **转换工具**:可以将DOM...
**DOM4J解析XML实例详解** 在Java编程中,处理XML文档是一项常见的任务。DOM4J是一个非常流行的、强大的Java XML API,它提供了灵活且高效的方式来解析、创建、修改XML文档。本文将深入探讨如何使用DOM4J进行XML...
为了更好地利用DOM4J,开发者还需要掌握一些基本的XML知识,如XML元素、属性、命名空间以及XPath语法。 总结来说,这个压缩包提供了DOM4J解析XML文件所需的关键组件,包括DOM4J本身、XPath处理器Jaxen以及XML解析器...
了解DOM4J库的其他功能,如XPath查询、命名空间处理等,可以帮助更高效地处理复杂SOAP消息。 总之,DOM4J是处理XML文档的强大工具,包括解析和操作SOAP消息。通过熟悉其API和XML结构,开发者可以轻松地从SOAP消息中...
1. **解析XML文档**:DOM4J提供了多种解析器,如SAX和DOM解析器,可以高效地将XML文档转换为树形结构。通过这种方式,开发者可以方便地遍历和访问XML元素。 2. **构建XML文档**:DOM4J允许动态创建XML文档,可以...
【标题】: "无标题dom4j 和XPath jar包" 描述了本次文件内容的核心,主要涉及两个Java库——dom4j与XPath相关的jar包。这两个库在Java开发中广泛用于XML处理,尤其是在数据解析、文档操作以及信息提取等方面。 **...
DOM4J不仅兼容DOM和SAX,还提供了额外的功能,如自动命名空间处理、文档验证等。 DOM4J的一些特点包括: - **轻量级**:DOM4J相比标准的DOM实现更加轻量,消耗更少的内存。 - **易用性**:DOM4J提供了一套直观且...
- 这个库的主要特性包括:创建XML文档,修改XML结构,遍历XML节点,执行XPath查询,以及处理命名空间。 - DOM4J通过提供丰富的接口和类,使得开发者可以轻松地处理XML文档的各种操作,如添加、删除或修改元素和...
Java解析XML时,dom4j是一个非常流行的库,它提供了灵活且强大的API来处理XML文档。dom4j-1.6.1.jar是这个库的一个版本,发布于2005年,它支持XML的读取、写入、操作以及查询功能。在本文中,我们将深入探讨dom4j的...
1. 加载XSD文件:使用DOM4J的DocumentHelper类的parse方法,传入XSD文件的路径,得到一个SchemaFactory对象。 ```java SchemaFactory schemaFactory = DocumentHelper.createSchema(new File("path_to_xsd_file.xsd...
5. **XPath查询**:DOM4J支持XPath表达式,允许开发者通过路径快速定位XML文档中的特定节点,如`XPath.compile("//elementName")`。 6. **文档构建**:DOM4J提供了方便的API来构建XML文档,可以动态地创建XML结构,...
1. **解压**:首先,解压“dom4j解析xml所需的jar.zip”文件,这将得到一个JAR文件,通常命名为`dom4j-x.x.x.jar`。 2. **导入库**:将这个JAR文件添加到你的Java项目类路径中。如果你使用的是IDE(如Eclipse或...
更新XML文件通常涉及DOM(Document Object Model)解析,将XML文件加载到内存中形成一个可操作的树形结构。例如,使用Python的`lxml`库: ```python from lxml import etree # 加载XML tree = etree.parse('...
6. **Namespace支持**:DOM4J支持XML命名空间,这对于处理包含多个命名空间的XML文件至关重要。 7. **Document Type支持**:可以处理XML文档类型定义(DTD)和XML Schema。 8. **XPath表达式**:DOM4J提供了XPathAPI...