无线&移动互联网技术研发

换位思考·····
posts - 19, comments - 53, trackbacks - 0, articles - 283
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

Dom 解析xml

Posted on 2009-07-10 23:07 Gavin.lee 阅读(215) 评论(0)  编辑  收藏 所属分类: xml doc 操作
一直以来都是用DOM4J来解析xml的,dom4j用起来就很方便,也习惯了,呵,也不能忘本,今天网上看到一段利用DOM树解析,先摘下来,等有时间了,好好思考。

<?xml version="1.0" encoding="GB2312" ?>     
<xml>     
    
<Header left="100" Top="30">日报表</Header>     
</xml>

package com.Gavin.tools.xml;

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;

// 以上是要进行xml文档处理需导入的包和类    
public class DomXml {
    
public static void main(String[] args) {
        
try {
            DocumentBuilderFactory factory 
= DocumentBuilderFactory.newInstance(); // 实例化一个工厂类    
            DocumentBuilder builder = factory.newDocumentBuilder(); // 创建树立xml文档的对象,具体名称我也说不上,其上以上两条语句都是为处理xml文档做准备的,即进行初始化工作    
            Document document = builder.parse(new File("c:\\xml.xml")); // 导入xml文档    
            Element root = document.getDocumentElement(); // 得到根节点对象
           
            NodeList list 
= root.getElementsByTagName("Header"); // 通过标签名"Header"得到<Header>结点对象的列表,即所有名为"Header"的结点都被保存在一个list列表对象中    
            
            Element element 
= (Element) list.item(0); // 获取第一个list对象,这里就是<Header>结点    
            
            System.out.println(element.getChildNodes().item(
0).getNodeValue()); // 输出<Header>结点的第一个子节点的值,这里没有其他子节点,则直接返回"日报表"    
            System.out.println(element.getAttribute("left"));          
           
            
for(int i = 0; i < list.getLength(); i++{                
                System.out.println(
"left = " + element.getAttribute("left"));
            }

            
        }
 catch (Exception e) {
            System.out.println(
"exception:" + e.getMessage()); // 若有异常,则输出异常信息    
        }

    }

}


只有注册用户登录后才能发表评论。


网站导航: