java读取xml文件通用算法,用JAVA读取XML文件

[在用java操作xml文档时,好像很少用到jdk中sun提供的方法,因为它的实现比较繁琐,而经常使用的是jdom为我们提供的类库。 1、jdom的下载地址,http://www.jdom.org/downlo

解析XML的步骤如下:

1.创建DocumentBuilder工厂

2.创建DocumentBuilder对象

3.DocumentBuilder对象的parse方法得到Document对象

4.Document对象的getElementsByTagName得到NodeList集合

5.通过getFirstChild和getNextSibling进行遍历

用到的包: import javax.xml.parsers.*;

import org.w3c.dom.*;

import org.xml.sax.*;

用到的对象:

DocumentBuilderFactory:创建DocumentBuilder的抽象工厂

DocumentBuilder:可以从 XML 获取一个 Document

Document:提供供对文档数据的基本访问[ 简单的java读取xml文件方法(相对路径的xml文件),,分为两种: 一种是简单的键值对的xml文件, 通过Properties读取;一种是普通的xml文件, 此处使用dom4j读取 一.简单的

用到的方法:

DocumentBuilder.parse(String)':将给定 URI 的内容解析为一个 XML 文档,并且返回一个新的 DOM Document对象

Document.getElementsByTagName(String)':返回具有给定标记名称的所有 Element 的 NodeList

Element.getAttribute(String)':通过名称获得属性值

下面来解析一个XML文件

import javax.xml.parsers.*;

import org.w3c.dom.*;

import org.xml.sax.*;

public class Test

{

public static void main(String[] args)

{

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

try

{

DocumentBuilder db = dbf.newDocumentBuilder();

Document doc = db.parse("pet2.xml");

NodeList dogList = doc.getElementsByTagName("dog");

System.out.println("共有" + dogList.getLength() + "个dog节点");

for (int i = 0; i < dogList.getLength(); i++)

{

Node dog = dogList.item(i);

Element elem = (Element) dog;

System.out.println("id:" + elem.getAttribute("id"));

for (Node node = dog.getFirstChild(); node != null; node = node.getNextSibling())

{

if (node.getNodeType() == Node.ELEMENT_NODE)

{

String name = node.getNodeName();

String value = node.getFirstChild().getNodeValue();

System.out.print(name + ":" + value + "\t");

}

}

System.out.println();

}

}

catch (Exception e)

{

e.printStackTrace();

}

}

}

XML文件

YAYA

100

0

酷酷的雪娜瑞

OUOU

90

15

聪明的拉布拉多犬

QQ

100

20

Q仔

[首先给大家推荐一个网站:http://semorhome.cn/tags/xml/ 上面讲解比较好,例子简单实用.   ----以下为我的代码,使用的是jdom的方式读取 package mt.project.xtgl.xmlparse;

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
©️2021 CSDN 皮肤主题: 1024 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值