//读取xml文件 。
public Document readXML(String filename) {
SAXReader saxReader = new SAXReader();
try {
// 注意:此处用FileInputStream而非FileReader(new
// File(filename)),用UTF8编码保存文件修改后中文乱码的问题
Document doc = saxReader.read(new FileInputStream(filename),"UTF-8");
return doc;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
//读取root接点。
public Element getRootElement(Document doc){
return doc.getRootElement();
}
//遍历某属性下的所有的值。
public void search(Element root){
//接点迭代
Iterator it_element = root.elementIterator();
while(it_element.hasNext()){
Element element = (Element)it_element.next();
if(!element.getText().equals("")){
System.out.println(element.getName()+"节点的值是"+element.getText());
}else{
System.out.println(element.getName()+"节点");
}
search(element);
}
}
//遍历根节点下的属性。
public void searchRoot(Element root,String content){
//接点迭代
Iterator it_element = root.elementIterator();
while(it_element.hasNext()){
Element element = (Element)it_element.next();
//属性迭代
Iterator it_attr = element.attributeIterator();
while(it_attr.hasNext()){
Attribute attr= (Attribute)it_attr.next();
if(attr != null){
System.out.println(element.getName()+"节点的属性"+attr.getName()+ "的值是" + attr.getValue());
String str = attr.getValue();
if(str.contains(content)){
search(element);
}
}
}
searchRoot(element,content);
}
}
分享到:
相关推荐
在本主题“DOM遍历所有XML节点,并且重新生成XML”中,我们将深入探讨如何利用DOM API遍历XML文档的所有节点,并根据需求重新构建XML文档。 首先,让我们了解XML的基本结构。XML(eXtensible Markup Language)是一...
使用`childNodes`属性可以获取元素的所有子节点,包括文本节点和注释节点。通过循环遍历这些子节点,可以实现前向遍历。例如: ```javascript function traverseForward(node) { for (let i = 0; i ; i++) { ...
解析XML文件后,DOM4J会构建一个`Document`对象树,你可以通过这个树来访问和操作XML的所有元素。 - **Element对象**:`Element`是XML文档中的节点,相当于HTML的`<tag>`。DOM4J提供了丰富的API来操作元素,如获取...
- 获取节点信息:在遍历过程中,可以使用QXmlStreamReader的相关方法获取节点的属性、名称、文本等内容。例如,对于StartElement,可以调用name()获取元素名,attributes()获取属性列表。 2. **属性操作** - 访问...
1. **Element**: DOM4J中的Element类代表XML文档中的元素节点,它是DOM4J中最重要的类。通过Element,我们可以获取或设置元素的属性,添加子元素,以及遍历元素的子节点。 2. **Attribute**: 属性是元素的一部分,...
DOM4J是一个强大的Java库,用于处理XML文档,包括读取、写入、修改和解析。本篇文章将深入探讨如何利用DOM4J解析SOAP消息中的元素,以便在实际项目中进行有效的数据提取和操作。 首先,理解SOAP消息的结构至关重要...
3. **基本概念**:介绍DOM4J中的核心类,如`Document`(文档对象)、`Element`(元素)、`Attribute`(属性)、`Text`(文本节点)等,以及它们之间的关系。 4. **解析XML**:讲解如何使用DOM4J解析XML文件,包括...
10. **Node**:`Node`是DOM4j中所有XML节点的基类,提供了统一的访问和操作方法,包括元素、属性、文本、注释等。 11. **NodeFilter**:`NodeFilter`定义了一个过滤器接口,允许你在遍历DOM4j树时根据特定条件筛选...
DOM4J因其高效性和灵活性,在多种场景下都能发挥出色的表现: - **数据交换**: 在不同的系统之间交换XML格式的数据,DOM4J可以轻松解析和生成XML文档。 - **配置文件解析**: 许多应用使用XML作为配置文件的格式,...
DOM4J的核心类包括`Element`、`Attribute`、`Document`和`Namespace`等,它们分别代表了XML文档中的元素、属性、文档和命名空间。 **XML解析:** DOM4J提供了多种解析XML文档的方式,如SAX、DOM和StAX。其中,SAX是...
通过DOM4J,开发者可以方便地进行节点操作,如添加、删除、修改元素和属性,以及搜索和排序节点。此外,DOM4J还支持命名空间、XPath表达式以及转换为其他XML格式(如SAX或DOM)的能力。 XPath是W3C制定的一种查询...
6. 遍历子节点:对于获取的节点,我们还可以通过`childNodes`属性来获取其所有子节点,`children`属性则只返回元素子节点。`firstChild`和`lastChild`属性分别指向第一个和最后一个子节点,`nextSibling`和`...
DOM4J-2.1.1.jar是该库的一个特定版本,它包含了DOM4J的所有功能和优化,旨在为开发者提供更高效、更灵活的XML操作环境。 一、DOM4J的核心特性 1. **灵活的API**:DOM4J提供了简单易用的API,使得开发者可以方便地...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单且高效的API,使得开发者可以轻松地解析、创建、修改以及操作XML数据。在Java世界中,DOM4J是与DOM(Document Object Model)相媲美的一个选择,但它比...
`dom4j-1.6.1-API.chm`是DOM4J API的帮助文件,通常包含了DOM4J所有类和接口的详细说明,包括它们的方法、构造函数以及常量。开发者可以通过查阅这个CHM文件,快速查找和理解DOM4J中的特定类或方法,便于编程时参考...
- DOM4J的核心思想是提供一个灵活的、面向对象的模型来处理XML文档,包括元素、属性、文本节点等。 - 它不仅支持标准的DOM API,还提供了基于事件的SAX解析器和一个XPath实现,以满足不同场景的需求。 2. **主要...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单且高效的API来读取、写入、修改以及操作XML。在这个实例中,我们将深入理解DOM4J库如何帮助我们处理XML文档,并通过实际操作来熟悉其核心功能。 XML...
3. 访问XML节点:使用XPath表达式或者遍历节点的方式访问XML中的元素、属性、文本等。 4. 修改XML:添加、删除、修改节点,以及属性值。 5. 写出XML:使用`XMLWriter`或`DocumentWriter`将Document对象写入文件。 ...