文档章节

DOM操作XML——利用Element读取数据

藍色的海
 藍色的海
发布于 2012/04/06 18:35
字数 190
阅读 48
收藏 0

flowers.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<flowers>
  <flower id="1">
     <name>玫瑰</name>
     <price>10</price>
  </flower>
  <flower id="2">
     <name>百合</name>
     <price>20</price>
  </flower>
   <flower id="3">
     <name>兰花</name>
     <price>30</price>
  </flower>
</flowers>

ReadElement.java

 

import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.w3c.dom.Node;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;
public class ReadElement{
  /**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		DocumentBuilderFactory dbf=DocumentBuilderFactory.newInstance();
		DocumentBuilder db;
		try{
			db=dbf.newDocumentBuilder();
			Document doc=db.parse("flowers.xml");
                   //查询所有鲜花
			NodeList list=doc.getElementsByTagName("flower");
			for(int i=0;i<list.getLength();i++){
				Element flower=(Element)list.item(i);
				Node priceNode=flower.getElementsByTagName("price").item(0);
				String strPrice=priceNode.getTextContent();
				double price=Double.parseDouble(strPrice);
				if(price>10){
					String id=flower.getAttribute("id");
					Node nameNode=flower.getElementsByTagName("name").item(0);
					String name=nameNode.getTextContent();
					System.out.println("id:"+id);
					System.out.println("name:"+name);
					System.out.println("price:"+price);
					System.out.println("-----------------------");
				}
			}
		}catch(ParserConfigurationException e){
			e.printStackTrace();
		}catch(SAXException e){
			e.printStackTrace();
		}catch(IOException e){
			e.printStackTrace();
		}
	}
}

 显示效果

id:2
name:百合
price:20.0
-----------------------
id:3
name:兰花
price:30.0
-----------------------

© 著作权归作者所有

藍色的海
粉丝 3
博文 19
码字总数 7205
作品 0
广州
其他
私信 提问
以XML为中间文档格式的Excel电子表格向SVG图转换

引 言 随着办公自动化、电子政务的发展,无纸化办公已是大势所趋。当前主流的文档格式有: Microsoft Office, OpenOffice, PDF 等。其中企业的统计数据、内部报表多以Excel 电子表格 来呈现。...

webas
2013/04/16
0
0
Android的三种解析方式

第一种方式:DOM解析器: DOM是基于树形结构的的节点或信息片段的集合,允许开发人员使用DOM API遍历XML树、检索所需数据。分析该结构通常需要加载整个文档和构造树形结构,然后才可以检索和...

津乐
2018/01/11
0
0
Android读写XML(上)

注明:本文转自http://www.moandroid.com. 原文地址: http://www.moandroid.com/?p=508 XML 经常用作 Internet 上的一种数据格式,其文件格式想必大家都比较清楚,在这里我结合Android平台,...

晨曦之光
2012/03/01
391
0
Java程序员从笨鸟到菜鸟之(二十七)XML之Jdom和DOM4J解析 .

jdom解析 JDOM是一种使用 XML 的独特 Java 工具包,用于快速开发 XML 应用程序。它的设计包含 Java 语言的语法乃至语义。 JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实...

长平狐
2012/11/12
171
0
php 解析xml 的四种方法

XML处理是开发过程中经常遇到的,PHP对其也有很丰富的支持,本文只是对其中某几种解析技术做简要说明,包括:Xml parser, SimpleXML, XMLReader, DOMDocument。 1。 XML Expat Parser: XML ...

BearCatYN
2016/01/08
30
0

没有更多内容

加载失败,请刷新页面

加载更多

HTTP协议无状态,到底要怎么理解?

一,故事 一天,你有个需求,你要去超市买一瓶酱油。 到了超市买了酱油,你告诉售货员,下次给我准备下面粉,我下次来拿。 第二次,你去超市拿面粉,售货员说他不记得你什么时候说要准备面粉...

一代码农码一代
24分钟前
1
0
elk 邮件预警

{ "trigger": { "schedule": { "cron": "0/15 1 * * * ?" } }, "input": { "search": { "request": { "search_type": "query_then_fetch", "indices": [ "heartbeat*" ], "rest_total_hits_a......

internetafei
37分钟前
0
0
从一道面试题谈linux下fork的运行机制

今天一位朋友去一个不错的外企面试linux开发职位,面试官出了一个如下的题目: 给出如下C程序,在linux下使用gcc编译: #include "stdio.h" #include "sys/types.h" #include "unistd.h" in......

linux服务器架构
39分钟前
1
0
AEDPoS合约实现之GetConsensusCommand

正如文章AElf共识合约标准中所述,GetConsensusCommand接口用于获取某个公钥下一次生产区块的时间等信息。 在AEDPoS的实现中,其输入仅为一个公钥(public key),该接口实现方法的调用时间另...

AELF开发者社区
47分钟前
0
0
kotlin中奖概率

fun main() { var wins = 0 var chance = 0.2 var playTime = 10// 1000万次 val n = 10000000 (1..n).forEach { if (play(chance, playTime)) win......

oschina4cyy
50分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部