XML解析之DOM
来源:互联网 发布:bp算法的基本思想 编辑:程序博客网 时间:2024/05/22 15:00
今天我们来用DOM解析XML。
首先我们来写一个简单的XML,student.xml:
<?xml version="1.0" encoding="UTF-8"?><student> <name>张三</name> <sex>男</sex> <age>20</age></student>
public class DOM01 { public static void main(String[] args) { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); try { DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse("src/student.xml"); NodeList nodeList = doc.getElementsByTagName("student"); Element e = (Element) nodeList.item(0); String name = e.getElementsByTagName("name").item(0).getFirstChild().getNodeValue(); System.out.println("姓名:" + name); String sex = e.getElementsByTagName("sex").item(0).getFirstChild().getNodeValue(); System.out.println("性别:" + sex); String age = e.getElementsByTagName("age").item(0).getFirstChild().getNodeValue(); System.out.println("年龄:" + age); } catch (Exception e) { e.printStackTrace(); } }}
下面我们再来一个复杂一点的XML文件,students.xml。
<?xml version="1.0" encoding="UTF-8"?><students> <student> <name id="001">张三</name> <sex>男</sex> <age>20</age> </student> <student> <name id="002">李四</name> <sex>女</sex> <age>21</age> </student></students>
public class DOM02 { public static void printNodeAttr(Node node) { NamedNodeMap map = node.getAttributes(); for (int i = 0; i < map.getLength(); i++) { Node attrNode = map.item(i); System.out.println(attrNode.getNodeName() + ":" + attrNode.getNodeValue()); } } public static void main(String[] args) { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); try { DocumentBuilder builder = factory.newDocumentBuilder(); Document doc = builder.parse("src/students.xml"); NodeList nodeList = doc.getElementsByTagName("students"); Element element = (Element) nodeList.item(0); NodeList studentNodeList = element.getElementsByTagName("student"); System.out.println(studentNodeList.getLength()); for (int i = 0; i < studentNodeList.getLength(); i++) { Element e = (Element) studentNodeList.item(i); printNodeAttr(e.getElementsByTagName("name").item(0)); String name = e.getElementsByTagName("name").item(0).getFirstChild().getNodeValue(); System.out.println("姓名:" + name); String sex = e.getElementsByTagName("sex").item(0).getFirstChild().getNodeValue(); System.out.println("性别:" + sex); String age = e.getElementsByTagName("age").item(0).getFirstChild().getNodeValue(); System.out.println("年龄:" + age); } } catch (Exception e) { e.printStackTrace(); } }}
0 0
- 解析xml之--DOM
- xml解析之Dom
- XML解析之 DOM
- XML解析之Dom
- XML解析之DOM
- XML解析之Dom
- XML解析之DOM
- 解析XML之DOM
- xml之dom解析
- xml解析之dom
- XML之DOM解析
- xml解析之DOM
- XML解析之dom
- XML解析之DOM
- XML之DOM解析
- XML之DOM解析
- XML之DOM解析
- xml之DOM解析
- 堆和堆排序
- java消息队列ActiveMQ的简单使用
- lintcode graph-valid-tree 图是否是树
- 项目搭建输出 正式中要关闭
- iOS-使用Xcode自带单元测试UnitTest
- XML解析之DOM
- Linux软连接和硬链接
- 取一个转录本
- 分析Redis架构设计
- 浅谈CSRF攻击方式
- 【HDU 5787】K-wolf Number(数位DP)
- AB测试
- tomcat性能调优(高并发)
- php const和define的区别