老王学jsp之dom解析xml
xml是一种数据的存储方式,标签完全由用户自定义,是一种树状的结构,必须完全匹配,比如:
<?xml version="1.0" encoding="GBK" ?> <address> <person><name>老王</name><sex>男</sex><phone>15520080563</phone> </person> <person><name>老大</name><sex>男</sex><phone>15520080563</phone> </person> </address>
1.xml文档的读取(DOM方式)
import java.io.File;import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory;import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList;public class readXmlByDom {/*** @param args*/public static void main(String[] args) throws Exception{// TODO Auto-generated method stubDocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();//新建工厂对象DocumentBuilder builder=factory.newDocumentBuilder();//实例化builder对象Document doc=builder.parse(new File("D:/学习资料/JAVA/软件/work/xml/src/demo1.xml"));NodeList nl = doc.getElementsByTagName("person") ;for(int x=0;x<nl.getLength();x++){Element e = (Element) nl.item(x) ; // 取出每一个元素System.out.println("姓名:" + e.getElementsByTagName("name").item(0).getFirstChild().getNodeValue()) ;System.out.println("电话:" + e.getElementsByTagName("phone").item(0).getFirstChild().getNodeValue()) ;}}}
输出结果:
姓名:老王 电话:15520080563 姓名:老大 电话:15520080563
2.xml文档的新建
import java.io.* ; import org.w3c.dom.* ; import javax.xml.parsers.* ; import javax.xml.transform.* ; import javax.xml.transform.dom.* ; import javax.xml.transform.stream.* ;public class hh{public static void main(String args[]) throws Exception {// 取得DocumentBuilderFactory类的对象DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance() ;// 取得DocumentBuilder类的对象DocumentBuilder build = factory.newDocumentBuilder() ;Document doc = build.newDocument() ; // 创建一个新的XML文档Element addresslist = doc.createElement("addresslist") ;Element linkman = doc.createElement("linkman") ;Element name = doc.createElement("name") ;Element email = doc.createElement("email") ;// 设置节点内容name.appendChild(doc.createTextNode("老王")) ;email.appendChild(doc.createTextNode("wanglei134@foxmail.com")) ;// 该设置各个节点的关系linkman.appendChild(name) ; // name是linkeman的子节点linkman.appendChild(email) ; // email是linkman的子节点 addresslist.appendChild(linkman) ;doc.appendChild(addresslist) ;TransformerFactory tf = TransformerFactory.newInstance() ;Transformer t = tf.newTransformer() ;t.setOutputProperty(OutputKeys.ENCODING, "GBK") ; // 处理中文的DOMSource source = new DOMSource(doc) ; // 准备输出文档StreamResult result = new StreamResult(new File("d:"+File.separator+"output.xml")) ;t.transform(source,result) ;} }
转载于:https://www.cnblogs.com/wanglei-134/p/3181389.html
老王学jsp之dom解析xml相关推荐
- java中document解析jsp,JSP基于dom解析xml实例详解
本文实例讲述了JSP基于dom解析xml的方法.分享给大家供大家参考,具体如下: 初次学习用dom操作xml文件,有很多不足之处,牛人多给点建议,练习时我没对中文做乱码处理,也没做验证哦!O(∩_∩) ...
- Java之XML解析-使用dom(org.w3c.dom)解析XML
转自: Java之XML解析-使用dom(org.w3c.dom)解析XML 下文笔者将讲述使用W3C(org.w3c.dom)提供的接口,解析XML文档的方法分享 W3C解析xml文档的方法:将整个 ...
- 使用dom解析xml
这里是一个根据xml数据定时上传数据的案例,每天抽取三条信息随机发送给不同的三个用户,然后随机发送账户给不同的三个交易团队,这里用到了quartz. 下面是xml的整体结构和部分模拟数据 <?x ...
- java解析xml实例_在java中使用dom解析xml的示例分析
本篇文章介绍了,在java中使用dom解析xml的示例分析.需要的朋友参考下 dom是个功能强大的解析工具,适用于小文档 为什么这么说呢?因为它会把整篇xml文档装载进内存中,形成一颗文档对象树 总之 ...
- java dom xml 换行,dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件...
网友求助:dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件 问题importjava.text.SimpleDateFormat; import ...
- [iOS] dom解析xml数据,拿到lt;gt;里面的值
[iOS] dom解析xml数据,拿到<>里面的值 <response result="success" timestamp="1338890206&q ...
- JAVA中利用DOM解析XML文档
JAVA中利用DOM解析XML文档 package org.sws.utils; import java.io.File;import java.io.IOException; import java ...
- XML解析(二),DOM解析XML
转载自 XML解析(二),DOM解析XML 上篇文章向大家介绍了SAX解析XML,为了这篇文章理解起来更加方便,所以还没看过SAX解析XML文章的,请戳这[XML解析(一)]SAX解析XML ,这 ...
- Android学习笔记---Android平台1.使用dom解析xml文件
1.使用dom解析xml文件 除了使用 SAX可以解析XML文件,大家也可以使用熟悉的DOM来解析XML文件. DOM解析XML文 件时,会将XML文件的所有内容以文档树方式存放在内存中,然后允许您使 ...
最新文章
- php 二维数组中去重,PHP实现二维数组去重功能示例
- 强化学习(十)Double DQN (DDQN)
- 数据分析(排序,数据特征、平均数、方差等,累计统计,相关分析)
- php+mssql 分页,一个PHP+MSSQL分页的例子
- mysql 查询两张表结构相同的数据库_数据库原理习题(含答案)
- 【转】win7 32位安装oracle10g步骤
- HTML5 —— 本地存储
- evernote 替代_Evernote的5种开源替代品
- 计算机制图 教学大纲,计算机制图教学大纲.DOC
- 怎么自学python-如何学习好Python这门课程?老男孩Python培训全套视频
- 矩阵求逆(JAVA)利用伴随矩阵
- 服务器 多显卡 显示器,一台主机接多个显示器,居然有三种方法实现,提高工作效率的神器...
- java时间戳 时分秒_orale获取两个时间戳字符串之间的时间差(时分秒)(含java实现)...
- java面向对象基础
- 中英文在线翻译的方法
- EasyExcel代码层面设置写出的Excel样式、以及拦截器策略的使用、自动列宽设置、EasyExcel默认设置详解
- 正则判断只能输入大于0的正整数
- flat2lla matlab,Convert from flat Earth position to array of geodetic coordinates
- Redisson--最好用的Redis客户端--介绍
- 深入学习OpenCV中图像相似度的算法