`
zqb666kkk
  • 浏览: 730342 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

dom4j根据xml节点name值来遍历节点数据

阅读更多

package com.loymtech.test;

import java.io.File;
import java.util.Iterator;

import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

/**
 * 根据xml节点name来遍历节点数据
 *
 * @author lenovo
 *
 */
public class TestDom4J {
 public void modifyDocument(File inputXml) {
  try {
   SAXReader saxReader = new SAXReader();
   Document document = saxReader.read(inputXml);
   Element rootElt = document.getRootElement();
   Iterator iter = rootElt.elementIterator("occasion");
   while (iter.hasNext()) {
    Element recordEle = (Element) iter.next();
    String name = recordEle.attributeValue("name");
    if ("booking".equals(name)) {
     Iterator<Element> children = recordEle.elementIterator(); //元素的子元素的iterator,其中每个元素都是Element对象


     while (children.hasNext()) {
      Element child = children.next();
      Iterator<Attribute> attributes = child
        .attributeIterator();
      while (attributes.hasNext()) {
       Attribute attribute = attributes.next();
       System.out.println(attribute.getName() + " : "
         + attribute.getValue());
      }
      System.out.println();
     }
    }
   }
  }

  catch (DocumentException e) {
   System.out.println(e.getMessage());
  }
 }

 public static void main(String[] argv) {
  TestDom4J dom4jParser = new TestDom4J();
  dom4jParser.modifyDocument(new File(
    "d:\\testfile\\123.xml"));
 }
}

分享到:
评论

相关推荐

    qt xml操作 遍历

    - 遍历XML节点:通过调用readNext()方法,每次移动到下一个节点。根据readNext()返回的QXmlStreamTokenType枚举值,可以判断当前节点的类型,如StartElement、EndElement、Characters等。 - 获取节点信息:在遍历...

    遍历XML文件内所有节点和属性

    遍历DOM时,可以使用非递归方式,例如通过while循环和nextSibling或firstChild属性来遍历节点,这样可以避免递归调用栈的增长。以下是一个简单的示例: ```javascript var node = xmlDoc.documentElement....

    dom遍历所有xml节点,并且重新生成xml

    在本主题“DOM遍历所有XML节点,并且重新生成XML”中,我们将深入探讨如何利用DOM API遍历XML文档的所有节点,并根据需求重新构建XML文档。 首先,让我们了解XML的基本结构。XML(eXtensible Markup Language)是一...

    Dom4j解析XML文档.doc

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活、高效的API,使得XML的解析、创建、修改和查询变得...在实际的开发中,掌握DOM4J的使用,能够帮助你更有效地处理XML数据,提高代码的可维护性和可读性。

    dom4j读写xml文档实例

    此外,DOM4J还支持XPath查询,允许我们根据特定表达式查找XML中的元素,这在处理大型XML文档时非常有用。 ```java XPath xpath = XPathFactory.instance().create("//element[@attr='value']"); List&lt;Element&gt; ...

    Qt实现xml文件内容的遍历读出

    总结来说,这个项目演示了如何利用Qt的QDomDocument类处理XML文件,通过递归函数遍历XML树,并使用虚函数实现多态性,为不同类型的XML节点提供灵活的处理策略。这不仅教会我们XML解析的基本技术,还展示了面向对象...

    使用DOM4J对XML文件操作-添加、修改、删除、获取元素节点

    在本教程中,我们将深入探讨如何使用DOM4J来执行基本的XML操作,包括添加元素、修改元素、删除元素以及获取元素节点。 1. **添加元素节点** 在DOM4J中,添加元素节点通常涉及创建一个新的`Element`对象,然后将其...

    XML中dom根据属性检索节点(C#)

    4. 遍历节点:如果需要查找的属性可能出现在多个节点上,可以使用`SelectNodes()`方法,它返回一个`XmlNodeList`对象,包含了所有匹配的节点。 ```csharp XmlNodeList nodeList = doc.SelectNodes("//elementName[@...

    dom4j解析xml实例

    DOM4J提供了方便的方法来遍历XML文档中的元素和属性: ```java List&lt;Element&gt; elementList = rootElement.elements(); for (Element element : elementList) { System.out.println(element.getName()); ...

    jQuery 1.5 遍历xml节点属性

    总之,jQuery 1.5通过其强大的API简化了XML节点属性的遍历,使开发者能够更加专注于应用逻辑,而不是底层的DOM操作。通过结合"test.html"和"jquery-1.5.js",我们可以创建一个直观的实例来演示这一功能。

    java dom4j解析xml

    - DOM4J支持XPath表达式来快速定位XML中的节点。例如,`XPathFactory factory = XPathFactory.instance(); XPath xpath = factory.newXPath(); Node node = xpath.selectSingleNode(document, "/root/element")`...

    dom4j解析及生成 xml代码收集

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了简单且灵活的方式来解析、创建、修改和操作XML数据。这个资源包显然包含了关于如何使用DOM4J进行XML操作的代码示例,尤其是生成XML文件的部分。下面我们将...

    使用dom4j将xml字符串转换成Bean对象

    总结来说,dom4j提供了一种简洁的方式将XML字符串转换为Java Bean对象。通过创建一个工具类,我们可以定义一个通用的方法,根据XML结构自动填充Bean的属性。这种方式在处理XML数据到Java对象的映射时非常实用。在...

    dom4j解析xml文件代码示例

    总结来说,DOM4J为Java开发者提供了一套全面的API来处理XML文档,包括解析、创建、修改和序列化XML。在`CacheInit.java`这个示例中,可能包含了利用DOM4J解析`emailTemplateConfig.xml`文件,提取或修改其中的配置...

    dom4j 解析xml实例

    4. 遍历XML节点:通过`rootElement`,我们可以访问所有子元素。例如,如果`student.xml`包含学生列表,我们可以通过迭代遍历每个学生元素: ```java for (Element student : rootElement.elements("student")) { ...

    修改xml节点的值修改xml节点的值

    这里以DOM为例,演示如何修改XML节点值: 1. 引入JAXB库: ```java import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.DocumentBuilder; import org.w3c.dom.Document; import org....

    java中dom4j读写XML

    在Java中,DOM4J提供了一种灵活的方式来操作XML文档,包括解析、遍历、修改节点以及序列化回XML字符串。 **DOM4J的基本概念:** 1. **Element(元素)**:XML文档中的每一个标签都是一个Element,它包含属性、文本...

    DOM4J 解析XML

    DOM4J不仅是一个解析XML的工具,还可以用作XML数据绑定库,将XML数据映射到Java对象。此外,DOM4J还支持Java 5的注解,这使得XML文档的处理更加直观和简洁。结合其灵活性和高性能,DOM4J成为Java开发人员处理XML文档...

    dom4j解析xml,利用反射机制

    4. 反射机制:在`Info.java`类中定义与XML结构匹配的字段,然后利用Java的反射API(如`Class.forName()`,`Class.getDeclaredFields()`,`Field.setAccessible(true)`,`Field.setValue()`)将XML节点值设置到对应的...

    DOM4J解析XML代码

    4. 使用Iterator遍历根节点,获取每个student节点,再遍历student节点下的name、college、telephone等子节点,并通过相应的方法获取节点名称和值。 #### SAX解析XML文件 SAX解析方式是一种基于事件的解析方法。SAX...

Global site tag (gtag.js) - Google Analytics