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相关推荐

  1. java中document解析jsp,JSP基于dom解析xml实例详解

    本文实例讲述了JSP基于dom解析xml的方法.分享给大家供大家参考,具体如下: 初次学习用dom操作xml文件,有很多不足之处,牛人多给点建议,练习时我没对中文做乱码处理,也没做验证哦!O(∩_∩) ...

  2. Java之XML解析-使用dom(org.w3c.dom)解析XML

    转自: Java之XML解析-使用dom(org.w3c.dom)解析XML 下文笔者将讲述使用W3C(org.w3c.dom)提供的接口,解析XML文档的方法分享 W3C解析xml文档的方法:将整个 ...

  3. 使用dom解析xml

    这里是一个根据xml数据定时上传数据的案例,每天抽取三条信息随机发送给不同的三个用户,然后随机发送账户给不同的三个交易团队,这里用到了quartz. 下面是xml的整体结构和部分模拟数据 <?x ...

  4. java解析xml实例_在java中使用dom解析xml的示例分析

    本篇文章介绍了,在java中使用dom解析xml的示例分析.需要的朋友参考下 dom是个功能强大的解析工具,适用于小文档 为什么这么说呢?因为它会把整篇xml文档装载进内存中,形成一颗文档对象树 总之 ...

  5. java dom xml 换行,dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件...

    网友求助:dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件 问题importjava.text.SimpleDateFormat; import ...

  6. [iOS] dom解析xml数据,拿到lt;gt;里面的值

    [iOS] dom解析xml数据,拿到<>里面的值 <response result="success" timestamp="1338890206&q ...

  7. JAVA中利用DOM解析XML文档

    JAVA中利用DOM解析XML文档 package org.sws.utils; import java.io.File;import java.io.IOException; import java ...

  8. XML解析(二),DOM解析XML

    转载自   XML解析(二),DOM解析XML 上篇文章向大家介绍了SAX解析XML,为了这篇文章理解起来更加方便,所以还没看过SAX解析XML文章的,请戳这[XML解析(一)]SAX解析XML ,这 ...

  9. Android学习笔记---Android平台1.使用dom解析xml文件

    1.使用dom解析xml文件 除了使用 SAX可以解析XML文件,大家也可以使用熟悉的DOM来解析XML文件. DOM解析XML文 件时,会将XML文件的所有内容以文档树方式存放在内存中,然后允许您使 ...

最新文章

  1. php 二维数组中去重,PHP实现二维数组去重功能示例
  2. 强化学习(十)Double DQN (DDQN)
  3. 数据分析(排序,数据特征、平均数、方差等,累计统计,相关分析)
  4. php+mssql 分页,一个PHP+MSSQL分页的例子
  5. mysql 查询两张表结构相同的数据库_数据库原理习题(含答案)
  6. 【转】win7 32位安装oracle10g步骤
  7. HTML5 —— 本地存储
  8. evernote 替代_Evernote的5种开源替代品
  9. 计算机制图 教学大纲,计算机制图教学大纲.DOC
  10. 怎么自学python-如何学习好Python这门课程?老男孩Python培训全套视频
  11. 矩阵求逆(JAVA)利用伴随矩阵
  12. 服务器 多显卡 显示器,一台主机接多个显示器,居然有三种方法实现,提高工作效率的神器...
  13. java时间戳 时分秒_orale获取两个时间戳字符串之间的时间差(时分秒)(含java实现)...
  14. java面向对象基础
  15. 中英文在线翻译的方法
  16. EasyExcel代码层面设置写出的Excel样式、以及拦截器策略的使用、自动列宽设置、EasyExcel默认设置详解
  17. 正则判断只能输入大于0的正整数
  18. flat2lla matlab,Convert from flat Earth position to array of geodetic coordinates
  19. Redisson--最好用的Redis客户端--介绍
  20. 深入学习OpenCV中图像相似度的算法

热门文章

  1. 6 Git 分支 - 变基
  2. 学习C++ - 类(Classes)的定义与实现
  3. 《Linux内核设计与实现》读书笔记(十一)- 定时器和时间管理
  4. string常用操作
  5. gimp教程:gimp界面介绍
  6. static和不完全类型的一个例子
  7. Camel中的几个重要概念之Routes, RouteBuilders 和 Java DSL
  8. Unix Regex
  9. Fast CGI 工作原理
  10. 【vue-number-scroll】数字逐渐增加或者减少的滚动解决方案