利用java处理XML文档
来源:互联网 发布:穿越知乎 编辑:程序博客网 时间:2024/06/14 19:18
在java对XML进行处理时,读取XML文档,对其处理,这是我得一个实例代码。
import java.io.FileInputStream;
import org.w3c.dom.*;
/*
* Created on 2004-6-2
*
*java读取XML文档
*利用DoM来读取一个XML文档的内容,并将其打印出来
*
*/
/**
* @author wzy
*
* Email:wanderhouse@163.com
*/
public class TestXML {
public static void main(String[] args) {
Document doc;
DocumentBuilderFactory factory;
DocumentBuilder docBuilder;
Element root;
String elementName;
FileInputStream in;
String fileName;
try{
//get the XML file
fileName = System.getProperty("user.dir");
fileName = fileName+"/sample.XML";
in = new FileInputStream(fileName);
//解析XML文件,生成document对象
factory = DocumentBuilderFactory.newInstance();
factory.setValidating(false);
docBuilder = factory.newDocumentBuilder();
doc = docBuilder.parse(in);
//解析成功
System.out.println("parse successfull");
//获取XML文档的根节点
root = doc.getDocumentElement();
elementName = root.getNodeName();
//打印根节点的属性
printAttributes(root);
//打印该文档全部节点
System.out.println("打印全部节点");
printElement(root,0);
}
catch(Exception exp){
exp.printStackTrace();
}
}
//打印某个节点的全部属性
public static void printAttributes(Element elem){
NamedNodeMap attributes;
int i,max;
String name,value;
Node curNode;
attributes = elem.getAttributes();
max = attributes.getLength();
for(i=0;i<max;i++){
curNode = attributes.item(i);
name = curNode.getNodeName();
value = curNode.getNodeValue();
System.out.println(""+name+" = "+value);
}
}
//打印所有的节点的名称和值
//改方法采用递归方式打印文档的全部节点
public static void printElement(Element elem,int depth){
String elementName;
NodeList children;
int i,max;
Node curChild;
Element curElement;
String nodeName,nodeValue;
//elementName = elem.getNodeName();
//获取输入节点的全部子节点
children = elem.getChildNodes();
//按一定格式打印输入节点
for(int j=0;j<depth;j++){
System.out.print(" ");
}
printAttributes(elem);
//采用递归方式打印全部子节点
max = children.getLength();
for(i=0;i<max;i++){
curChild = children.item(i);
//递归退出条件
if(curChild instanceof Element){
curElement = (Element)curChild;
printElement(curElement,depth+1);
}
else{
nodeName = curChild.getNodeName();
nodeValue = curChild.getNodeValue();
for(int j=0;j<depth;j++)System.out.print(" ");
System.out.println(nodeName+" = "+nodeValue);
}
}
}
}
- 利用java处理XML文档
- 利用java处理XML文档
- 利用DOM来处理XML文档(zz)
- java处理XML文档-JDOM
- java 利用DOM写入XML文档
- JAVA中利用DOM解析XML文档
- Java里面对XML文档的处理
- Java处理XML文档的SAX方式
- Java处理XML文档的StAX方式
- Java 笔记 --利用xml文档制作二进制字典.dict
- Java 利用DOM读取XML文档的例子
- C# 处理XML文档
- 处理XML文档
- Linq处理XML文档
- javascript xml 文档处理
- SAX --- 处理 XML 文档
- Java里面对XML文档的处理【经典例子分析】
- Java编程中应用dom4j轻松地处理XML文档
- 如何在Struts 数据库应用程序中实现记录的添加(续)
- 初学Struts
- AOP(Aspect Oriented Programming)是什么?
- 如何在Java中取汉字拼音的首字母
- shark工作流源代码学习(二)
- 利用java处理XML文档
- JunitPerf使用简明手册
- 简单的hibernate数据库插入例子(1)
- java窗体运行时最大化及关闭方法示例
- 给初学者关于eclilse汉化及tomcat错误的一点提示
- Jboss3.0.7_tomcat_4.1.24的axis配置
- 实例讲解:开发SWING的XML框架(1)
- Wireless Tool Kit中注意模拟器的关闭方法.
- 实例讲解:开发SWING的XML框架(2)完