import Java . io . unsupportedencodingexception;
導入Java . net . URL decoder;
導入Java . util . ArrayList;
導入Java . util . hashmap;
導入Java . util . list;
導入Java . util . map;
導入javax . XML . parsers . documentbuilderfactory;
導入org . W3C . DOM . document;
導入org . W3C . DOM . element;
導入org . W3C . DOM . nodelist;
公共類百度{
公共靜態void main(String[] args)引發異常{
列表& lt字符串& gtlist = display();
地圖& ltString,String & gtmap = run(list);
for(int I = 0;我& ltlist . size();i++) {
system . out . println(list . get(I)+"-"+map . get(list . get(I)));
}
}
私有靜態字符串路徑;
靜態{
path = Baidu . class . get resource("/test . XML ")。getPath();
嘗試{
path = URLDecoder.decode(path," utf-8 ");
} catch(UnsupportedEncodingException e){
拋出新的runtime exception(e);
}
}
//獲取normativeField中每壹項的值。
公共靜態列表& lt字符串& gtdisplay()引發異常{
Document doc = getDocument(路徑);
NodeList list = doc . getelementsbytagname(" normativeField ");
列表& lt字符串& gtnormativeFieldList = new ArrayList & lt;字符串& gt();
//獲取normativeField中各項的值,並將其添加到normativeFieldList集合中。
for(int I = 0;我& ltlist . getlength();i++) {
normativefieldlist . add(list . item(I))。gettext content());
}
返回normativeFieldList
}
公共靜態地圖& ltString,String & gt運行(列表& lt字符串& gt列表)引發異常{
地圖& ltString,String & gtmap = new HashMap & ltString,String & gt();
Document doc = getDocument(路徑);
for(int I = 0;我& ltlist . size();i++) {
NodeList nodeListlist = doc . getelementsbytagname(list . get(I));
Element e =(Element)nodelistlist . item(0);
字符串值= e . getattribute(" value ");
map.put(list.get(i),value);
}
返回地圖;
}
公共靜態文檔getDocument(字符串路徑)引發異常{
document doc = documentbuilderfactory . new instance()
。newDocumentBuilder()。解析(路徑);
退貨單;
}
}
控制臺:
ID - eye1.id
興明- eye1.name
邢別- eye1.sex
年靈- eye1.age
視力-眼睛2 .視力
深圳- eye2.high
體中-眼2 .財富
郭敏-
公非子非- eye1.pay
聯系方式- eye1 .電話號碼
李冰-眼睛
Test.xml應該在項目根目錄中:
& lt?xml版本="1.0 "編碼="UTF-8 "?& gt
& ltdataServiceResource & gt
& ltdatabasetype & gt關系& lt/database type & gt;
& ltnormativeResource & gt
& ltnormativeField & gtID & lt/normativeField & gt;
& ltnormativeField & gt星明& lt/normativeField & gt;
& ltnormativeField & gtxingbie & lt/normativeField & gt;
& ltnormativeField & gt年靈& lt/normativeField & gt;
& ltnormativeField & gt十裏& lt/normativeField & gt;
& ltnormativeField & gt深高& lt/normativeField & gt;
& ltnormativeField & gt體中& lt/normativeField & gt;
& ltnormativeField & gt郭敏</normativeField & gt;
& ltnormativeField & gt公非子非& lt/normativeField & gt;
& ltnormativeField & gt蓮溪芳詩& lt/normativeField & gt;
& ltnormativeField & gt李冰</normativeField & gt;
& lt/normative resource & gt;
& ltsourceFieldsMap & gt
& ltID value = " eye 1 . ID "/& gt;
& lt興明value = " eye 1 . name "/& gt;
& ltxing bie value = " eye 1 . sex "/& gt;
& ltnianling value = " eye 1 . age "/& gt;
& ltShili value = " eye 2 . eye light "/& gt;
& ltShen Gao value = " eye 2 . high "/& gt;
& lttizhong value = " eye 2 . wealth "/& gt;
& lt郭敏值= " "/& gt;
& lt宮非子妃value = " eye 1 . pay "/& gt;
& ltlianxi fanshi value = " eye 1 . telephone number "/& gt;
& lt李冰value = " eye 1 . content 1 "/>
& lt/sourceFieldsMap & gt;
& ltsourceTables & gt
& lt表& gteye 1 & lt;/table & gt;
& lt表& gteye2 & lt/table & gt;
& lt/source tables & gt;
& lt/dataServiceResource & gt;