Java笔记——XML解析
import java.io.File; 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.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.SAXException; public class XmlTest { public static void main(String[] args) { try { DocumentBuilderFactory builderFactory = DocumentBuilderFactory .newInstance(); DocumentBuilder builder = builderFactory.newDocumentBuilder(); Document document = builder.parse(new File("NewFile.xml")); Element root = document.getDocumentElement(); System.out.println(root.getAttribute("name")+":"); NodeList list = root.getElementsByTagName("student"); for (int i = 0; i < list.getLength(); i++) { Element student = (Element) list.item(i); System.out.println("-----------------------"); System.out.println("id= " + student.getAttribute("id")); NodeList clist = student.getChildNodes(); for (int j = 0; j < clist.getLength(); j++) { Node c = clist.item(j); if (c instanceof Element) { System.out.println(c.getNodeName() + "=" + c.getTextContent()); } } } } catch (ParserConfigurationException e) { e.printStackTrace(); } catch (SAXException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }
被解析的XML:
<?xml version="1.0" encoding="UTF-8"?> <root name="StudentInformation"> <student id="1"> <name>张三</name> <address>北京</address> </student> <student id="2"> <name>李四</name> <address>上海</address> </student> <student id="3"> <name>王五</name> <address>广州</address> </student> </root>
显示结果:
StudentInformation:
-----------------------
id= 1
name=张三
address=北京
-----------------------
id= 2
name=李四
address=上海
-----------------------
id= 3
name=王五
address=广州
Java笔记——XML解析的更多相关文章
- Java的XML解析
XML:(eXtensible Markup Language) 可扩展标记语言 是一种数据格式,用于存储和传输数据 声明一个xml文件 <?xml version="1.0" ...
- 【Java】XML解析之DOM4J
DOM4J介绍 dom4j是一个简单的开源库,用于处理XML. XPath和XSLT,它基于Java平台,使用Java的集合框架,全面集成了DOM,SAX和JAXP,使用需要引用dom4j.jar包 ...
- 【Java】XML解析之SAX
SAX介绍 SAX(Simple API for XML)是一种事件驱动的流式XML文件处理方式,区别与DOM方式的是不需要在内存中建一棵DOM树,而是根据读取XML时遇到的标签事件来顺序处理,因此具 ...
- 【Java】XML解析之DOM
DOM介绍 DOM(Document Object Model)解析是官方提供的XML解析方式之一,使用时无需引入第三方包,代码编写简单,方便修改树结构,但是由于DOM解析时是将整个XML文件加载到内 ...
- java之xml解析-dom4j
解析方式 XML 解析方式有很多种,但是常用的有两种,如下: DOM Document Object Model:把整个 XML 读到内存中,形成树状结构.整个文档为 Document 对象,属性为 ...
- 5月3日上课笔记-XML解析
一.XML编程 1.xml编程的两种解析方式 1.1 dom解析 优点:一次加载,多次使用.可以方便的对xml文档进行增删改查 缺点:如果xml文档过大的话,加载的时候会比较占用内存空间比较大,消耗资 ...
- JavaWeb学习笔记——XML解析
DOM解析操作 只在跟节点<addresslist>下面建立一个子节点<name> <?xml version="1.0" encoding=&quo ...
- 【Java】XML解析之JDOM
JDOM介绍 JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析.生成.序列化以及多种操作.使用jdom需要引入jdom.jar包. XML生成及解析 代码如下: pac ...
- java的XML解析(DOM4J技术)
DOM4J技术解析XML文件 一,XML简介 xml (可扩展标记语言) 全称: Extended Markup Language 可扩展的含义:允许程序员按照自己的想法去扩展新的标签 注意:但是扩 ...
随机推荐
- sql语句按月份统计查询
select year(createdate) 年,month(createdate) 月,count(1) from public_cms_arcwhere (userid in (select i ...
- JS动态引入js、CSS动态创建script/link/style标签
一.动态创建link方式 我们可以使用link的方式.如下代码所示. function addCssByLink(url){ var doc=document; var link=doc.create ...
- checking for known struct flock definition... configure: error: Don't know how to define struct flock on this system, set --enable-opcache=
在对php进行安装的过程中出现如下错误: 1.报错信息: 1 checking for known struct flock definition... configure: error: Don't ...
- 深入解析FileInputStream和FileOutputStream
http://swiftlet.net/archives/1363 FileInputStream和FileOutputStream类属于字节类,可以操作任意类型的文件.在数据流的处理过程中,有两种情 ...
- 一个设置 material design icon的插件工具
一个设置 material design icon的插件工具 github地址:https://github.com/konifar/android-material-design-icon-gene ...
- 把Wordpress集成到zen-cart里方法 各种修改 经典机制
作者: 闻庭牛 | 分类: zen cart插件精解 | 浏览: 4 | 评论: 暂时没有评论 如果你的Zen-cart需要一个Blog来发布一些你的最新动态,可以试试Wordpress,并且用WOZ ...
- PAT1015
A reversible prime in any number system is a prime whose "reverse" in that number system i ...
- edittext判断获取焦点 有焦点显示clear
mPhoneEt.setOnFocusChangeListener(new OnFocusChangeListener() { @Override public void onFocusChange( ...
- Oracle如何还原数据库
http://blog.sina.com.cn/s/blog_6c25b1e50101ga0b.html
- HDU-5289<two pointers>
题意: 求一个数列中存在多少个区间,每个区间内的数的差不超过k; 思路:two_pointers; #include<iostream> #include<cstdio> #i ...