java jdom解析xml文件_Java 使用JDOM解析XML文档

使用JDOM解析XML文档

JDOM是一种使用 XML(标准通用标记语言下的一个子集) 的独特 Java 工具包。下面我们来看一下怎么使用

JDOM来解析XML文档。

首先下载JDOM的jar包,并导入到工程中。具体的操作方法这里不再赘述了,大佬们一定不会在乎这个东西。

下面就在说一说具体的操作步骤吧。

1 . 创建一个SAXBuilder对象。

SAXBuilder saxBuilder = new SAXBuilder();

2 . 调用SAXBuilder对象的build()方法。(Document对象是org.jdom2.Document包下的)

Document document = saxBuilder.build("book.xml");

3 . 调用document对象的getRootElement()方法获取根节点。

Element element = document.getRootElement();

4 . 调用Element对象的getChildren()方法获取根节点的子节点。

List books = element.getChildren();

5 . 调用getAttributes()方法或者getAttributeValue("id")方法获取节点属性。

String value = book.getAttributeValue("id");

//List bookAttrs = book.getAttributes();

6 . 调用getChildren()方法或者getChild()方法再次获得其子节点。

List bookChildren = book.getChildren();

下面是一个简单的实例,供大家参考。

book.xml

111

222

333

444

jdom.java

package com.lpp.test;

import java.io.IOException;

import java.util.List;

import org.jdom2.Attribute;

import org.jdom2.Document;

import org.jdom2.Element;

import org.jdom2.JDOMException;

import org.jdom2.input.SAXBuilder;

public class jdom

{

public static void main(String[] args)

{

// TODO Auto-generated method stub

SAXBuilder saxBuilder = new SAXBuilder();

try

{

Document document = saxBuilder.build("book.xml");

Element element = document.getRootElement();

List books = element.getChildren();

for (Element book : books)

{

System.out.println("开始解析!第" + (books.indexOf(book) + 1) + "本");

// String value = book.getAttributeValue("id");

// System.out.println("id:"+value);

List bookAttrs = book.getAttributes();

for (Attribute bookAttr : bookAttrs)// 和上面的效果一样

{

String attrName = bookAttr.getName();

String attrValue = bookAttr.getValue();

System.out.println("属性" + attrName + ":" + attrValue);

}

List bookChildren = book.getChildren();

for (Element bookChild : bookChildren)

{

String bookChildElementName = bookChild.getName();

String bookChildElementValue = bookChild.getValue();

System.out.println("节点" + bookChildElementName + ":" + bookChildElementValue);

}

System.out.println("结束解析!第" + (books.indexOf(book) + 1) + "本");

}

} catch (JDOMException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e)

{

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值