JavaWeb学习笔记——XML解析

DOM解析操作




只在跟节点<addresslist>下面建立一个子节点<name>
<?xml version="1.0" encoding="UTF-8"?>
<addresslist>
<linkman>
<name>张三</name>
<email>www.baidu.com</email>
</linkman> <linkman>
<name>李四</name>
<email>www.sina.com</email>
</linkman>
</addresslist>
import java.io.IOException; import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException; //=================================================
// File Name : DOM_demo
//------------------------------------------------------------------------------
// Author : Common //类名:BinarySearch_Find
//属性:
//方法: //主类
//Function : DOM_demo
public class DOM_demo { public static void main(String[] args) throws Exception{
// TODO 自动生成的方法存根
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //建立DocumentBuilderFactory
DocumentBuilder builder = factory.newDocumentBuilder(); //建立DocumentBuilder
Document doc = null;
try{
doc = builder.parse("/home/common/software/coding/HelloWord/JavaWeb/bin/dom_name.xml");
}catch(SAXException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}
NodeList nl = doc.getElementsByTagName("name"); //查找name节点
System.out.println("姓名:"+nl.item(1).getFirstChild().getNodeValue()); //输出第1个节点的内容
} }
一些DOM操作,循环输出节点信息
import java.io.IOException; import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory; import org.w3c.dom.Element;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException; //=================================================
// File Name : DOM_demo
//------------------------------------------------------------------------------
// Author : Common //类名:BinarySearch_Find
//属性:
//方法: //主类
//Function : DOM_demo
public class DOM_demo { public static void main(String[] args) throws Exception{
// TODO 自动生成的方法存根
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); //建立DocumentBuilderFactory
DocumentBuilder builder = factory.newDocumentBuilder(); //建立DocumentBuilder
Document doc = null;
try{
doc = builder.parse("/home/common/software/coding/HelloWord/JavaWeb/bin/dom_name.xml");
}catch(SAXException e){
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
} // NodeList nl = doc.getElementsByTagName("name"); //查找name节点
// System.out.println("姓名:"+nl.item(1).getFirstChild().getNodeValue()); //输出第1个节点的内容 NodeList lm = doc.getElementsByTagName("linkman"); //查找linkman节点
for(int i=0;i<lm.getLength();i++){
Element e = (Element)lm.item(i); //取得每一个元素
System.out.println("姓名:"+e.getElementsByTagName("name").item(0).getFirstChild().getNodeValue());
System.out.println("邮箱:"+e.getElementsByTagName("email").item(0).getFirstChild().getNodeValue());
}
} }
生成XML文件

import java.io.File;
import java.io.IOException; import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult; import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.SAXException; //=================================================
// File Name : DOM_demo
//------------------------------------------------------------------------------
// Author : Common //类名:BinarySearch_Find
//属性:
//方法: //主类
//Function : DOM_demo
public class DOM_demo { public static void main(String[] args) throws Exception{
// TODO 自动生成的方法存根
//建立DocumentBuilderFactory
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
//建立DocumentBuilder
DocumentBuilder builder = factory.newDocumentBuilder();
//定义Document接口对象,通过DocumentBuilder类进行DOM树的转换操作
Document doc = null;
doc = builder.newDocument(); //建立各个操作节点
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("www.soho.com"));
//设置节点关系
linkman.appendChild(name); //子节点
linkman.appendChild(email); //子节点
addresslist.appendChild(linkman); //子节点
doc.appendChild(addresslist); //文档上保存节点
//输出文档到文件中
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = null;
try{
t = tf.newTransformer();
}catch(TransformerConfigurationException e1){
e1.printStackTrace();
}
t.setOutputProperty(OutputKeys.ENCODING, "UTF-8"); //设置编码
DOMSource source = new DOMSource(doc); //输出文档
StreamResult result = new StreamResult(new File("/home/common/software/coding/HelloWord/JavaWeb/bin/dom_name_output.xml")) ;
try{
t.transform(source, result); //输出
}catch(TransformerException e){
e.printStackTrace();
}
} }
JavaWeb学习笔记——XML解析的更多相关文章
- JavaWeb学习笔记——SAX解析
import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHa ...
- JavaWeb学习笔记——XML和SAX解析区别
- JavaWeb学习笔记——XML简介
- JavaWeb学习笔记总结 目录篇
JavaWeb学习笔记一: XML解析 JavaWeb学习笔记二 Http协议和Tomcat服务器 JavaWeb学习笔记三 Servlet JavaWeb学习笔记四 request&resp ...
- javaweb学习笔记整理补课
javaweb学习笔记整理补课 * JavaWeb: * 使用Java语言开发基于互联网的项目 * 软件架构: 1. C/S: Client/Server 客户端/服务器端 * 在用户本地有一个客户端 ...
- html学习笔记-XML
html学习笔记-XML Table of Contents 1. XML简介 2. XML用途 3. XML树结构 4. XML语法 5. XML元素 6. XML属性 7. XML验证 8. XM ...
- JavaWeb学习——web.xml文件说明
JavaWeb学习——web.xml文件说明 摘要:本文主要学习了web.xml文件的作用以及如果配置. 是什么 web.xml文件是用来在JavaWeb项目里面初始化配置信息的,比如:访问的首页.S ...
- Javaweb学习笔记——(六)——————xml中jaxp两种解析方式和dom4j运用
1.xml的scheam约束 dtd的语法:<!ElEMENT 元素名称 约束> **schema符合xml的语法,xml语句 **一个xml中可以有多个schema,多个schema使用 ...
- 【Javaweb学习笔记】XML和约束模式
一.XML语法 xml 可扩展标记语言,w3c组织发布的,用于保存有关系的数据,作为配置文件,描述程序模块之间的关系 xml 文件开头必须包括下面的标签: <?xml version=" ...
随机推荐
- Retrofit2 + OkHttp3设置Http请求头(Headers)方法汇总
在构建网络层时会遇到一个问题就是要手动配置Http请求的Headers,写入缓存Cookie,自定义的User-Agent等参数,但是对于有几十个接口的网络层,我才不想用注解配置Headers,目前网 ...
- TouchSlop与VelocityTracker认识
TouchSlop是处理触摸事件中的一个常量,被系统认为滑动和点击事件的临界点.理 解这个touchSlop是一个滑动距离值的常量,也就是说当我们手触摸在屏幕上滑动时,如果滑动距离没有超过touchS ...
- Java创始人
詹姆斯·高斯林(英语:James Gosling,1955年5月19日-),出生于加拿大,软件专家,Java编程语言的共同创始人之一,一般公认他为“Java之父”. 在他12岁的时候,他已能设计电子游 ...
- 【UOJ #147】【NOIP 2015】斗地主
http://uoj.ac/problem/147 搜索时先枚举三顺子,双顺子和单顺子,然后贪心带牌和成三成双成单出. #include<cstdio> #include<cstri ...
- 【BZOJ 1030】【JSOI 2007】文本生成器 AC自动机+递推
一直不理解到底怎么做啊,想了好久$TwT$ 最后终于明白了为什么找到第一个满足条件的$fail$就计算,因为避免重复,这个回答,,, 然后$root$下面要接上26个节点,这里26个字母中不在字典内的 ...
- eclipse中如何远程java debug配置
1.Window中修改startup.bat文件,在顶部添加如下: SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE - ...
- python 学习笔记11(objgraph)
33. objgraph objgraph是Python的一个第三方包.安装之前需要安装xdot. 用途 安装 例子
- 【BZOJ-3910】火车 倍增LCA + 并查集
3910: 火车 Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 262 Solved: 90[Submit][Status][Discuss] De ...
- Linux 输出重定向>和>>的区别
>是定向输出到文件,如果文件不存在,就创建文件:如果文件存在,就将其清空:一般我们备份清理日志文件的时候,就是这种方法:先备份日志,再用`>`,将日志文件清空(文件大小变成0字节): &g ...
- Linq 101 工具和源码
工具如图: 源码: https://git.oschina.net/yudaming/Linq101