今天學(xué)習(xí)了Java讀取XML的簡單方法,主要用到了javax.xml.pasers.*中的一些對象(注:可能會用到的包,xercesImpl.jar、xml-apis.jar
和jdom.jar
),首先構(gòu)造一個簡單的操作XML的工具類(Simple Control XML)SCXMLUtils,具體代碼如下(SCXMLUtils.java):





























































































說明:其中g(shù)etXMLDoc用于返回一個指定xml文件的Document對象,getChild返回一個指定節(jié)點的下一層中某一個指定名稱的節(jié)點對象,
getTextValue用于返回一個指定節(jié)點內(nèi)的文本內(nèi)容。
用來測試這個工具類的TestSCXML.java:
























































說明:首先調(diào)用getXMLDoc獲得test.xml的Document對象,然后調(diào)用getDocumentElement()函數(shù)獲得這個xml文件的根節(jié)點(即Home節(jié)點),然后
執(zhí)行g(shù)etChild(root, "Master")返回根節(jié)點下一層中,名為Master的子節(jié)點對象node1,然后的執(zhí)行g(shù)etTextValue(node1.getFirstChild())獲得Master
節(jié)點中的文本信息,這里特別說明一下,為什么是getTextValue(node1.getFirstChild())而不是getTextValue(node1),因為<Master>...</Master>
之間的內(nèi)容也被認為是一個節(jié)點(也可以說成是一個text對象),并且這個節(jié)點是Master節(jié)點下的第一個子節(jié)點,所以用getFirstChild()
來獲得Master節(jié)點中的文本內(nèi)容。
測試用的test.xml:
<?xml version="1.0" encoding="GBK"?>
<Home>
??? <Master>fatcatman</Master>
</Home>
運行結(jié)果:
The Master is fatcatman
今天學(xué)習(xí)了如何Java讀取XML某個節(jié)點中的內(nèi)容,明天繼續(xù)學(xué)習(xí)修改XML的方法。