用JAVA获取XML信息 第一步

看了《JAVA与XML》终于有了点收获,马上编写一段代码练练手。
用DOM简单的获取XML信息。

先随便写一个简单的XML文件。名为tryxml.xml


<?xml version="1.0" encoding="UTF-8"?>
<EMP_INFO>
<EMP id="001">
<EMPNAME>啊三</EMPNAME>
<EMPDEPT>人事部</EMPDEPT>
<EMPAGE>32</EMPAGE>
</EMP>
</EMP_INFO>





建立个JAVA文件 名为TryXML

import java.io.*;
import org.xml.sax.*;
import org.w3c.dom.*;
import org.apache.xerces.parsers.DOMParser;

public class TryXML{

  public void ParseDoc(String uri){
   try{
     DOMParser MyParser = new DOMParser(); //建立个工人
     MyParser.parse(uri); //解析文件
     Document XMLDoc = MyParser.getDocument(); //打开一个文件         
     printXML(XMLDoc); //输出XML信息
   }
    
   catch (IOException e){
     System.out.println("Error IOException!!!"); 
     }
   catch (SAXException e){
     System.out.println("Error SAXException!!!");
     }
 }


  public static void main(String[] args){
   String uri = args[0];

   TryXML TheXML = new TryXML();
   TheXML.ParseDoc(uri);
  }
 

 public void printXML(Node node){
   if (node.getNodeType() == Node.DOCUMENT_NODE){ //节点类型为文件节点时。
     System.out.println("XML开始");
     NodeList nodelist = node.getChildNodes();  //获取子节点。

     if (nodelist != null){
       for (int i = 0; i < nodelist.getLength(); i++)
        printXML(nodelist.item(i));  //输出每个子节点
      }
    }
    else if (node.getNodeType() == Node.ELEMENT_NODE){ //当节点类型为元素时。
     String name = node.getNodeName(); //获取节点名。
     System.out.println("元素: [" + name + "]");
     NamedNodeMap attList = node.getAttributes(); //获取属性
    
    for (int i = 0; i < attList.getLength(); i++){ //属性为空时不会进入。
      Node currentNode = attList.item(i);
      System.out.println("属性: [" +
      currentNode.getNodeName() + "]"+"= [" +
      currentNode.getNodeValue() + "]");
     }

     NodeList childrenList = node.getChildNodes();//获取子节点。
 
   if (childrenList != null){
       for (int ii = 0; ii < childrenList.getLength(); ii++)
         printXML(childrenList.item(ii));
     }
   
 
     System.out.println(" [" + name + "] 结束");
     }
    
    else if (node.getNodeType() == Node.TEXT_NODE){ //获取字符信息
     if(node.getNodeValue()!="/0")
       System.out.println("元素内容:"+ node.getNodeValue()+"..");
     }
  }
}



好了到控制台下 编译一下。然后打 java TryXML tryxml.xml 看看。哈。成功吧?




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值