- 浏览: 153672 次
- 性别:
- 来自: 武汉
-
文章分类
最新评论
-
zhangyatong:
zhangyatong 写道ws.getColumnView( ...
jxl处理图片 -
zhangyatong:
ws.getColumnView( bc ).getSize( ...
jxl处理图片 -
simple_hui:
a114d 写道楼主,创建xml的过程没看懂,这句
XMLWr ...
java dom4j操作xml -
a114d:
楼主,创建xml的过程没看懂,这句XMLWriter outp ...
java dom4j操作xml
一直用的dom4j解析,最近碰到工程里面是这种解析方式。
先记录下网上百度的一段代码。
写道
import javax.xml.transform.*;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.parsers.*;
import org.w3c.dom.*;
public class edit
{
public static void main(String[] args)
{
try{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc=builder.parse("links.xml");
doc.normalize();
NodeList books =doc.getDocumentElement().getChildNodes();
Node book;
NodeList lists;
book=books.item(1);
//添加节点
Element id=doc.createElement("id");
id.appendChild(doc.createTextNode("first"));
book.appendChild(id);
//删除节点
book.removeChild(book.getChildNodes().item(1));
//修改节点
Text sina=doc.createTextNode("sina");
book.getChildNodes().item(2).replaceChild(sina,book.getChildNodes().item(2).getFirstChild());
System.out.println(book.getChildNodes().item(2).getNodeName());
System.out.println(books.getLength());
System.out.println(book.getChildNodes().getLength());
//浏览查看
for(int i=1;i<books.getLength();i++)
{
book=books.item(i);
lists=book.getChildNodes();
for(int j=1;j<lists.getLength();j++)
{
if(lists.item(j).getNodeType()==Node.ELEMENT_NODE)
System.out.println(lists.item(j).getFirstChild().getNodeValue());
}
}
TransformerFactory tFactory =TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new java.io.File("links.xml"));
transformer.transform(source, result);
}catch(Exception e){System.out.println(e);}
}
}
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import javax.xml.parsers.*;
import org.w3c.dom.*;
public class edit
{
public static void main(String[] args)
{
try{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc=builder.parse("links.xml");
doc.normalize();
NodeList books =doc.getDocumentElement().getChildNodes();
Node book;
NodeList lists;
book=books.item(1);
//添加节点
Element id=doc.createElement("id");
id.appendChild(doc.createTextNode("first"));
book.appendChild(id);
//删除节点
book.removeChild(book.getChildNodes().item(1));
//修改节点
Text sina=doc.createTextNode("sina");
book.getChildNodes().item(2).replaceChild(sina,book.getChildNodes().item(2).getFirstChild());
System.out.println(book.getChildNodes().item(2).getNodeName());
System.out.println(books.getLength());
System.out.println(book.getChildNodes().getLength());
//浏览查看
for(int i=1;i<books.getLength();i++)
{
book=books.item(i);
lists=book.getChildNodes();
for(int j=1;j<lists.getLength();j++)
{
if(lists.item(j).getNodeType()==Node.ELEMENT_NODE)
System.out.println(lists.item(j).getFirstChild().getNodeValue());
}
}
TransformerFactory tFactory =TransformerFactory.newInstance();
Transformer transformer = tFactory.newTransformer();
DOMSource source = new DOMSource(doc);
StreamResult result = new StreamResult(new java.io.File("links.xml"));
transformer.transform(source, result);
}catch(Exception e){System.out.println(e);}
}
}
-----------------------------------------------------------------------------------------------------
有如下的xml文档 <?xml version=”1.0”?> <font> <name>Helvetica</name> <size>36</size> </font> 遍历整个xml的所有node
XML文档时,解析器会得到5个结果:
写道
import java.io.File;
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class XMLReader {
public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException
{
File file = new File("test.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
//将xml文件解释成文档对象
Document doc = db.parse(file);
//取得文档根
doc.normalize();
Element root = doc.getDocumentElement();
//取得要元素名
System.out.println("The root element is:" + root.getNodeName());
//获取孩子节点
NodeList children = root.getChildNodes();
stepThrough(root);
}
private static void stepThrough (Node start)
{
for(Node child = start.getFirstChild();child != null;child = child.getNextSibling())
{
if(child instanceof Element)//去除多余的空白
{
System.out.print("节点名:"+child.getNodeName());
System.out.println("\t节点值:"+ child.getNodeValue());
}
if(child != null)
stepThrough(child);
}
}
}
import java.io.IOException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
public class XMLReader {
public static void main(String[] args) throws ParserConfigurationException, SAXException, IOException
{
File file = new File("test.xml");
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
//将xml文件解释成文档对象
Document doc = db.parse(file);
//取得文档根
doc.normalize();
Element root = doc.getDocumentElement();
//取得要元素名
System.out.println("The root element is:" + root.getNodeName());
//获取孩子节点
NodeList children = root.getChildNodes();
stepThrough(root);
}
private static void stepThrough (Node start)
{
for(Node child = start.getFirstChild();child != null;child = child.getNextSibling())
{
if(child instanceof Element)//去除多余的空白
{
System.out.print("节点名:"+child.getNodeName());
System.out.println("\t节点值:"+ child.getNodeValue());
}
if(child != null)
stepThrough(child);
}
}
}
在处理这个
<font>与<name>之间的空白区域
Name元素
</name>与<size>之间的空白区域
Size元素
</size>与</font>之间的空白区域
如果只希望得到子元素,那么你可以忽略空白字符:
xml文档节点
写道
for(int i = 0;i < children.getLength(); i++)
{
Node child = children.item(i);
if (child instanceof Element)
{
Element childElement = (Element)child;
......
}
}
{
Node child = children.item(i);
if (child instanceof Element)
{
Element childElement = (Element)child;
......
}
}
遍历整个
for(Node childNode = element.getFirstChild();childNode != null;childNode = childNode.getNextSibling())
{
......
}
遍历整个xml某节点的所有属性
写道
NameNodeMap attributes = element.getAttributes();
for (int i = 0;i<attributes.getLength();i++)
{
Node attribute = attributes.item(i);
String name = attribute.getNodeName();//获得属性名
String value = attribute.getNodeValue();//获得属性值
}
for (int i = 0;i<attributes.getLength();i++)
{
Node attribute = attributes.item(i);
String name = attribute.getNodeName();//获得属性名
String value = attribute.getNodeValue();//获得属性值
}
如果只想知道己知属性的值,只需用
String unit = element.getAttribute(“unit”);
发表评论
-
CC使用的记录
2012-09-22 22:17 0创建一个文件视图: 1.通过CC插件选择创建clearcase ... -
查看系统交换空间
2012-09-09 19:59 4998虚拟内存 内存在计算机中的作用很大,电脑中所有运行的程序都需 ... -
错误信息:DB2 SQL57016
2012-09-09 19:33 2044在对表load数据之后,表出现如下错误: DB2 SQL er ... -
20120909
2012-09-09 19:24 7681.把工程给打包 cd 工程的WEB-ROOT目录 jar - ... -
SQL性能优化
2012-01-09 20:24 855转载 http://www.cnblogs.com/roo ... -
flex 关于下载的相关收集
2012-09-09 19:24 969在Actionscript 2及以前,要打开任何网址,只需调用 ... -
css li 不换行
2010-12-22 23:28 1811li 不换行 ------ 不换行的策略: ... -
ext相关
2010-12-22 23:19 1338Ext的grid列宽自动调整问题解决方案: 1.去除Ext ... -
eclipse打JAR包,并运行
2010-12-02 23:11 26093------------------------------- ... -
绝对路径与相对路径
2010-11-20 20:05 8801.基本概念 绝对路径:绝对路径就是你的主页上的文件或目录在硬 ... -
取数字和字母的随机数
2010-11-20 19:59 1216package com.slei.order; publi ... -
错误信息:与tomcat有关的异常错误
2010-11-20 19:56 12721.Unable to find a javac compil ... -
关于JS异步刷新
2010-11-20 19:49 10341.页面上<div id ="iframe&q ... -
树的js
2010-05-12 21:39 890在网上看到比较成熟的关于树的js都是dtree,google了 ... -
UltraEdit 使用技巧
2010-04-13 22:26 1392Tip 1: 如何去掉所编辑文 ... -
一点点记录
2010-04-02 17:47 9341.两个打印语句,语义上没错,可是执行时有什么问题? S ... -
java dom4j操作xml
2010-03-25 18:22 2318这是从网上找来的解析xml的文章 SAXReader rea ... -
循环Map
2010-03-24 14:53 2106根据JDK的新特性,用For循环Map,例如循环Map的Key ... -
java 的接口到底起什么作用
2010-03-12 17:11 1078我想,可能不止我一个人有这个疑问,所以,把它贴出来。 ... -
ChartDirector图形控件
2010-03-10 15:37 3529public void createChart(Cha ...
相关推荐
w3c-dom.jar 包 dom解析xml使用 包 免积分下载
Ø 1、DOM(org.w3c.dom) Ø “文档对象模型”方式,解析完的Xml将生成一个树状结构的对象。 Ø 2、SAX(org.xml.sax) Ø SimpleAPI for XML,以事件的形式通知程序,对Xml进行解析。 Ø 3、XMLPULL(org.xmlpull.v1) ...
一个xml的解析方法,供参考。 import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.InputSource;
W3C 标准 XML DOM 定义了所有 XML 元素的对象和属性,以及访问它们的方法(接口)。 换句话说:XML DOM 是用于获取、更改、添加或删除 XML 元素的标准。 模块简介: 1、XMLDOMDocument类: XML对象文档 ->操作创建或...
Chenso 是一个 org.w3c.dom XML 包装器/解析器库。 基本用法 运行测试 视窗 gradlew test Unix ./gradlew test 建造 视窗 gradlew.bat build Unix ./gradlew build 用法 获取 XML 元素中名称的第一个值 String ...
// 解析XML文档的输入流,得到一个Document Document doc = dombuilder.parse(is); // 得到XML文档的根节点 Element root = doc.getDocumentElement(); // 得到节点的子节点 NodeList books = root....
java dom 解析 xml 实例 介绍w3c中的元素的用法,以及在解析xml过程中用到的API进行详细解释
dom4j是一种解析XML文档的开放源代码XML框架。本文介绍如何使用包含在dom4j中的解析器创建并修改XML文档。dom4j API包含一个解析XML文档的工具。本文中将使用这个解析器创建一个示例XML文档,然后使用同一个解析器...
import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NodeList; /** * 本类是专门解析XML文件的,主要用于为系统读取自己的配置文件时提供最方便的解析操作 * @author HX * */ ...
从java.io输入解析到org.w3c.dom.Document 将org.w3c.dom.Document序列化为任何java.io输出 通过XSLT和自定义过滤器支持将java.io,SAX,StAX,JAXB输入转换为它们中的任何一个 通过XPath查询org.w3c.dom.Document...
javax.xml.crypto.dsig.dom javax.xml.crypto.dsig 包特定于 DOM 的类。 javax.xml.crypto.dsig.keyinfo 用来解析和处理 KeyInfo 元素和结构的类。 javax.xml.crypto.dsig.spec XML 数字签名的参数类。 javax.xml...
Namespace namespace1 = new DefaultNamespace("xs", "http://www.w3.org/2001/XMLSchema"); Namespace namespace2 = new DefaultNamespace("", namespace); root.add(namespace1); root.add(namespace2); ...
javax.xml.crypto.dsig.dom javax.xml.crypto.dsig 包特定于 DOM 的类。 javax.xml.crypto.dsig.keyinfo 用来解析和处理 KeyInfo 元素和结构的类。 javax.xml.crypto.dsig.spec XML 数字签名的参数类。 javax.xml...
dom 解析技术是 W3C 组织制定的,而所有的编程语言都对这个解析技术使用了自己语言的特点进行实现。 Java 对 dom 技术解析标记也做了实现。 sun 公司在 JDK5 版本对 dom 解析技术进行升级:SAX( Simple API for ...
javax.xml.crypto.dsig.dom javax.xml.crypto.dsig 包特定于 DOM 的类。 javax.xml.crypto.dsig.keyinfo 用来解析和处理 KeyInfo 元素和结构的类。 javax.xml.crypto.dsig.spec XML 数字签名的参数类。 javax.xml...
javax.xml.crypto.dsig.dom javax.xml.crypto.dsig 包特定于 DOM 的类。 javax.xml.crypto.dsig.keyinfo 用来解析和处理 KeyInfo 元素和结构的类。 javax.xml.crypto.dsig.spec XML 数字签名的参数类。 javax.xml....
javax.xml.crypto.dsig.dom javax.xml.crypto.dsig 包特定于 DOM 的类。 javax.xml.crypto.dsig.keyinfo 用来解析和处理 KeyInfo 元素和结构的类。 javax.xml.crypto.dsig.spec XML 数字签名的参数类。 javax.xml...