xml 操作
/////////////////////////////////jaxp对xml文档进行解析///////////////////////////////////////////
要操作的xml文件
<?xml version="1.0" encoding="GB2312" standalone="no"?><PhoneInfo>
<Brand name="华为">
<Type name="U8650"/><Type name="HW123"/>
<Type name="HW321"/>
</Brand>
<Brand name="苹果">
<Type name="iPhone4"/>
</Brand>
<Brand name="vivo">
<Type name="nb"/>
</Brand>
</PhoneInfo>
//////////////////////////////////////////////////////////////////////////////////////////////////
package xinhuiji_day15;
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
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.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class xmlTest {
/**
* @param args
* @throws ParserConfigurationException
* @throws IOException
* @throws SAXException
* @throws TransformerException
*/
public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException, TransformerException {
// test3();
// findId("3");
addNode();
}
//查找节点的内容
public static void test3() throws ParserConfigurationException,
SAXException, IOException {
DocumentBuilderFactory daoFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = daoFactory.newDocumentBuilder();
Document doc = builder.parse("src/网易手机各地行情.xml");
NodeList nodeList = doc.getElementsByTagName("pubDate");
for(int i = 0;i<nodeList.getLength();i++){
Element e = (Element) nodeList.item(i);
System.out.println(e.getFirstChild().getNodeValue());
}
}
public void test() throws ParserConfigurationException, SAXException, IOException{
DocumentBuilderFactory daoFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = daoFactory.newDocumentBuilder();
Document doc = builder.parse("src/收藏信息.xml");
NodeList nodeList = doc.getElementsByTagName("Brand");
for(int i = 0;i<nodeList.getLength();i++){
Element e = (Element) nodeList.item(i);
// System.out.println(e.getFirstChild().getNodeValue());
System.out.println(e.getTagName());
System.out.println(e.getAttribute("name"));
NodeList nod = e.getElementsByTagName("Type");
for(int j = 0;j<nod.getLength();j++){
Element ne = (Element) nod.item(j);
System.out.println("\t"+ne.getAttribute("name"));
}
}
}
public static void findId(String id) throws ParserConfigurationException, SAXException, IOException{
DocumentBuilderFactory daoFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = daoFactory.newDocumentBuilder();
Document doc = builder.parse("src/网易手机各地行情.xml");
NodeList nodeList = doc.getElementsByTagName("item");
for(int i = 0;i<nodeList.getLength();i++){
Element e = (Element) nodeList.item(i);
String xmlId = e.getAttribute("id");
if(xmlId.equals(id)){
System.out.println(e.getElementsByTagName("title").item(0)
.getFirstChild().getNodeValue());
}
}
}
//增加节点
public static void addNode() throws ParserConfigurationException, SAXException, IOException, TransformerException{
DocumentBuilderFactory daoFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = daoFactory.newDocumentBuilder();
Document doc = builder.parse("src/收藏信息.xml");
Element brandElement = doc.createElement("Brand");
brandElement.setAttribute("name", "vivo");
Element typeElement = doc.createElement("Type");
typeElement.setAttribute("name", "nb");
Element rootElement = (Element) doc.getElementsByTagName("PhoneInfo").item(0);
brandElement.appendChild(typeElement);
rootElement.appendChild(brandElement);
//向xml文件中写
TransformerFactory tff = TransformerFactory.newInstance();
Transformer ts = tff.newTransformer();
DOMSource source = new DOMSource(doc);
ts.setOutputProperty(OutputKeys.ENCODING, "gb2312");
StreamResult result = new StreamResult(new File("src/收藏信息.xml"));
ts.transform(source, result);
}
}
xml 操作的更多相关文章
- LINQ系列:LINQ to XML操作
LINQ to XML操作XML文件的方法,如创建XML文件.添加新的元素到XML文件中.修改XML文件中的元素.删除XML文件中的元素等. 1. 创建XML文件 string xmlFilePath ...
- T-Sql(五)xml操作
t-sql中的xml操作在我们平时做项目的过程中用的很少,因为我们处理的数据量很少,除非一些用到xml的地方,t-sql中xml操作一般用在数据量很大,性能优化的地方,当然我在平时做项目的时候也是没用 ...
- XML格式示例 与 XML操作(读取)类封装
header('Content-Type: text/xml'); <?xml version="1.0" encoding="utf-8" standa ...
- 【Java EE 学习 33 上】【JQuery样式操作】【JQuery中的Ajax操作】【JQuery中的XML操作】
一.JQuery中样式的操作 1.给id=mover的div采用属性增加样式.one $("#b1").click(function(){ $("#mover" ...
- 简单的XML操作类
/// <summary> /// XmlHelper 的摘要说明. /// xml操作类 /// </summary> public class XmlHelper { pr ...
- .net学习笔记---xml操作及读写
一.XML文件操作中与.Net中对应的类 微软的.NET框架在System.xml命名空间提供了一系列的类用于Dom的实现. 以下给出XML文档的组成部分对应.NET中的类: XML文档组成部分 对应 ...
- C#常用操作类库三(XML操作类)
/// <summary> /// XmlHelper 的摘要说明. /// xml操作类 /// </summary> public class XmlHelper { pr ...
- php xml 操作。
参考 文章:http://www.cnblogs.com/zcy_soft/archive/2011/01/26/1945482.html DOMDocument相关的内容. 属性: Attribut ...
- XML Helper XML操作类
写的一个XML操作类,包括读取/插入/修改/删除. using System;using System.Data;using System.Configuration;using System.Web ...
- 我的PHP之旅--XML操作
XML操作 XML主要是做数据存储和WEB服务的,所以我们难免要操作它,这里只介绍PHP的simpleXML方式. 我们要操作的XML: <?xml version="1.0" ...
随机推荐
- 网络上面好用的webserice方法【公开】
原文发布时间为:2009-07-27 -- 来源于本人的百度文章 [由搬家工具导入] 本帖转自 http://www.webxml.com.cn/zh_cn/web_services.aspx?off ...
- 转 C++拷贝构造函数详解
C++拷贝构造函数详解 一. 什么是拷贝构造函数 首先对于普通类型的对象来说,它们之间的复制是很简单的,例如: int a = 100; int b = a; 而类对象与普通对象不同,类对象内部结构一 ...
- C++序列化对象
需求 . 在写代码的过程中,经常会需要把代码层面的对象数据保存到文件,而这些数据会以各种格式存储.例如:json,xml,二进制等等.最近恰好就需要把对象以二进制存储到硬盘.这是一个很简单的需求,相比 ...
- Chrome扩展修改页面代码执行环境的方法
Chrome的扩展程序可以通过content scripts向页面中注入js代码,所注入的js代码能够对页面中所有的DOM对象进行操作.由于Chrome在js执行环境上对页面代码和content sc ...
- hdu 4525(数学)
威威猫系列故事——吃鸡腿 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Tota ...
- hdu 4738 无向图缩点断桥 // 细节坑题
Caocao's Bridges 题意:给个无向图,求出边权最小的桥. 一看,直接缩点,若无桥,输出-1,有桥,遍历下边,更新最小..分分钟搞定,以为IA的..一交wa... 坑点:1:若原图不连通, ...
- html5---音频视频基础一
//html5 音频和视频 :标签 a: audio,video b: source :视频容器 a:容器文件,类似于压缩了一组文件 -音频轨道 -视频轨道 -元数据:封面,标题,字幕等 -格式:.a ...
- Codeforces Gym100971 F.Two Points (IX Samara Regional Intercollegiate Programming Contest Russia, Samara, March 13)
这个题直接推公式就可以. 就是解一元二次方程,用高中学的公式,函数开口向上,求最大值为(4ac-b*b)/4a. 这个题推出来一元二次方程,然后将最大值的公式化简一下.公式很好推. 这个题有疑问,in ...
- spring 基础
作者:Spring太难链接:https://zhuanlan.zhihu.com/p/38131490来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 目录 Spring ...
- 单堆石子的Nim Game
两个人轮流捡石子,只有一堆石子,石子数为n.每个人每次至少捡一个石子,至多捡m个.取走最后一个石子的人胜利,若我方先手,求能否胜利. 若n % (m + 1)为0,则必输,否则必赢.