先导入jar包

<?xml version="1.0" encoding="UTF-8"?>
<companys>
<company id="www.baidu.com">
<name>百度</name>
<brand>熊掌</brand>
<size>10000</size>
</company>
<company id="sina.cn">
<name>新浪</name>
<brand>小图标</brand>
<size>2000</size>
</company>
</companys>
package zr.com.util;

import java.io.File;
import java.util.Iterator;
import java.util.List; import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.omg.CORBA.portable.ValueBase; /**
*
* @author LF
*
*/
public class TestXML { public static void main(String[] args) {
// 创建SAXReader对象
SAXReader reader = new SAXReader();
// 创建Document对象
Document document = null;
// 读取文件(xml文件)
try {
document = reader.read(new File("src/test.xml"));
} catch (DocumentException e) {
e.printStackTrace();
}
// 获取跟根节点
Element element = document.getRootElement(); TestXML.getAllContent(element);
} /**
* 递归
* @param node
*/
public static void getAllContent(Element node){
// 获取当前节点名称
System.out.println("--当前节点:"+node.getName());
// 获取当前节点的所有属性节点
List<Attribute> attributes = node.attributes();
// 遍历属性节点
for (Attribute attribute : attributes) {
System.err.println("属性名:"+attribute.getName()+",属性值:"+attribute.getValue());
}
// 获取当前节点的值
String value = node.getText();
// 如果当前节点的值不为空,则输出
if (!"".equals(value)) {
System.out.println("节点名:"+node.getName()+",节点的值"+value);
}
// 创建迭代器
Iterator it = node.elementIterator();
// 遍历子节点
while (it.hasNext()) {
Element childNode = (Element) it.next();
// 递归
getAllContent(childNode);
}
}
}

java 解析xml(dom4j.jar)的更多相关文章

  1. Java解析XML之Dom4j

    Java解析XML文件的方法有多种,个人感觉最常用的是使用Dom4j来解析XML文件.下面就简单介绍下Dom4j的基础使用. Dom4j需要jar包的支持,大家可以从网络上下载,如dom4j-1.6. ...

  2. XML概念定义以及如何定义xml文件编写约束条件java解析xml DTD XML Schema JAXP java xml解析 dom4j 解析 xpath dom sax

    本文主要涉及:xml概念描述,xml的约束文件,dtd,xsd文件的定义使用,如何在xml中引用xsd文件,如何使用java解析xml,解析xml方式dom sax,dom4j解析xml文件 XML来 ...

  3. Java解析XML汇总(DOM/SAX/JDOM/DOM4j/XPath)

    [目录] 一.[基础知识——扫盲] 二.[DOM.SAX.JDOM.DOM4j简单使用介绍] 三.[性能测试] 四.[对比] 五.[小插曲XPath] 六.[补充] 关键字:Java解析xml.解析x ...

  4. java解析XML saxReader.read(xml) 错误:org.dom4j.DocumentException: no protocol

    java解析XML saxReader.read(xml) 错误:org.dom4j.DocumentException: no protocol 完整错误信息: org.dom4j.Document ...

  5. java解析XML(转载)

    使用Dom4j解析XML dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的 ...

  6. 使用Java解析XML文件或XML字符串的例子

    转: 使用Java解析XML文件或XML字符串的例子 2017年09月16日 11:36:18 inter_peng 阅读数:4561 标签: JavaXML-Parserdom4j 更多 个人分类: ...

  7. java 解析xml 多命名空间问题

    先贴段有命名空间的xml吧.. <feed xmlns:im="http://itunes.apple.com/rss" xmlns="http://www.w3. ...

  8. XML基础+Java解析XML +几种解析方式的性能比较

    XML基础+Java解析XML 一:XML基础 XML是什么: 可扩展的标记语言 XML能干什么: 描述数据.存储数据.传输(交换)数据. XML与HTML区别: 目的不一样 XML 被设计用来描述数 ...

  9. (转)Android 创建与解析XML—— Dom4j方式 .

    转:http://blog.csdn.net/ithomer/article/details/7521605 1.Dom4j概述 dom4j is an easy to use, open sourc ...

  10. java解析xml的三种方法

    java解析XML的三种方法 1.SAX事件解析 package com.wzh.sax; import org.xml.sax.Attributes; import org.xml.sax.SAXE ...

随机推荐

  1. ul li 水平居中

    li的float:left方法显然有一个问题,就是无法居中(水平),只能使用padding-left或margin-right的方法方法来固定其居中.但这样可能在宽屏与窄屏的显示不一致.使用这种方法主 ...

  2. 【LeetCode】汇总

    此贴为汇总贴 673. Number of Longest Increasing Subsequence 075. Sort Colors 009. Palindrome Number 008. St ...

  3. Asp.Net 构架(HttpModule 介绍) - Part.3

    引言 Http 请求处理流程 和 Http Handler 介绍 这两篇文章里,我们首先了解了Http请求在服务器端的处理流程,随后我们知道Http请求最终会由实现了IHttpHandler接口的类进 ...

  4. cookie跨站脚本漏洞解决方案

    近日项目碰到一个跨脚本注入的问题: 这安全测评工具也是厉害了,直接将脚本注入到cookie里头,以前没有碰到这样的情况. 之前写过一篇文章过滤跨脚本注入的问题.<浅谈XSS攻击原理与解决方法&g ...

  5. 转JMeter 利用Jmeter批量数据库插入数据

    1.   启动Jmeter 2.   添加 DBC Connection Configuration 右键线程组->添加->配置元件->JDBC Connection Configu ...

  6. Difference between boot ip. service ip and persistent ip in hacmp

    - boot IP is the original address on a network interface even when the cluster is down - service IP ...

  7. cassandra学习 四 数据模型

    Keyspace(建空间): 可以理解为Database: Replication factor: 复制因数 :   Replica placement srategy: 复制策略,默认是Simple ...

  8. mysql安装及基本操作(mysql作业)

    1 官网下载,链接  https://www.mysql.com/downloads/ Download MySQL Community Server 默认为你选好了Mac OS X 平台 选择的是. ...

  9. verilog HDL 编码风格

    1.有意义且有效的名字. 2.同一信号在不同层次应该保持一致. 3.添加有意义的后缀,使信号的有效性更加明确. 4.模块输出寄存器化,使得输出的驱动强度和输入延时是可以预测的. 5.使用括号表明优先级 ...

  10. 用一两句话说一下你对“盒模型”这个概念的理解,和它都涉及到哪些css属性

    网页设计中常听的属性名:内容(content).填充(padding).边框(border).边界(margin), CSS盒子模式都具备这些属性. 这些属性我们可以用日常生活中的常见事物——盒子作一 ...