天天看點

JDK6筆記(2)----操作XML檔案

版權聲明:本文為部落客chszs的原創文章,未經部落客允許不得轉載。 https://blog.csdn.net/chszs/article/details/1529469

JDK6筆記(2)----操作XML檔案

一、XML檔案如下:

檔案名為:de_pjxmb.xml

<?xml version="1.0" encoding="gb2312"?>

<object title="價格明細表項" name="tbjgmx" pname="TBJGMX" log_table="system.LOG.0002" ts_column="lts">

<property title="ID" name="id" pname="ID" type="int"/>

<property title="時戳" name="lts" pname="LTS" type="int"/>

<property title="工作單ID" name="gzdid" pname="GZDID" type="int"/>

<property title="填報機關" name="tbdw" pname="TBDW" type="int" cc="2"/>

<property title="産品ID" name="cpid" pname="CPID" type="int"/>

<property title="價格類型" name="jglx" pname="JGLX" type="int" cc="3"/>

<property title="結算方式" name="jsfs" pname="JSFS" type="int" cc="17"/>

<property title="包裝類型" name="bzlx" pname="BZLX" type="int" cc="6"/>

<property title="市場區域" name="scqy" pname="SCQY" type="int" cc="2" cl="1"/>

<property title="生效标志" name="sxbz" pname="SXBZ" type="int"/>

<property title="生效日期" name="sxrq" pname="SXRQ" type="date"/>

<property title="結束日期" name="jsrq" pname="JSRQ" type="date"/>

<property title="外鍵" name="fk" pname="FK" type="string" length="40"/>

<property title="外鍵新" name="fkn" pname="FKN" type="sting" length="40"/>

</object>

二、Java源檔案如下:

package myfile;

import javax.xml.stream.XMLInputFactory;

import javax.xml.stream.XMLStreamException;

import javax.xml.stream.XMLStreamReader;

import javax.xml.stream.XMLStreamConstants;

import java.io.FileNotFoundException;

import java.io.FileReader;

public class XmlTest1 {

 public static void main(String[] args) throws XMLStreamException, FileNotFoundException{

  String path="D:/eclipse/Workspace/Test/src/myfile/de_pjxmb.xml";

  FileReader file=new FileReader(path);  

  XMLInputFactory factory=XMLInputFactory.newInstance();

  XMLStreamReader r=factory.createXMLStreamReader(file);

  try{

   int event=r.getEventType();

   while(true){

    switch(event){

    case XMLStreamConstants.START_DOCUMENT: System.out.println("Start Document.");

    break;

    case XMLStreamConstants.START_ELEMENT: System.out.println("Start Element:"+r.getName());

    for(int i=0,n=r.getAttributeCount();i<n;++i)

     System.out.println("Attribute: "+r.getAttributeName(i));

    case XMLStreamConstants.CHARACTERS:

     if(r.isWhiteSpace())

      break;

     System.out.println("Text: "+r.getText());

     break;

    case XMLStreamConstants.END_ELEMENT: System.out.println("End Element:"+r.getName());

    case XMLStreamConstants.END_DOCUMENT: System.out.println("End Document.");

    }

    if(!r.hasNext())

    event=r.next();

   }

  }

  finally{

   r.close();

 } 

}

三、輸出結果如下:

Start Document.

Start Element:object

Attribute: title

Attribute: name

Attribute: pname

Attribute: log_table

Attribute: ts_column

Start Element:property

Attribute: type

End Element:property

Attribute: cc

Attribute: cl

Attribute: length

End Element:object

End Document.

繼續閱讀