看起來像我需要幫助了! : -/Java/Jsp XML Dom
我試着去閱讀與Java/JSP這個XML文件:
<?xml version="1.0" encoding="iso-8859-1" ?>
<universal_campaign>
<campaign_details>
<campaign_id></campaign_id>
<campaign_title>Test Campaign</campaign_title>
<campaign_sdate>2010-01-21</campaign_sdate>
<campaign_edate>2010-01-25</campaign_edate>
<campaign_priority>Normal</campaign_priority>
</campaign_details>
<campaign_schedule>
<schedule_sdate>2010-01-25</schedule_sdate>
<schedule_edate>2010-01-30</schedule_edate>
<schedule_priority>Normal</schedule_priority>
<schedule_content>
<content_name>Wallpaper_A</content_name>
<content_filename>WP_A.jpg</content_filename>
</schedule_content>
<schedule_content>
<content_name>Screensaver</content_name>
<content_filename>SCS.gif</content_filename>
</schedule_content>
<schedule_zone>universal.001 test 001</schedule_zone>
<schedule_zone>universal.001 test 002</schedule_zone>
<schedule_zone>universal.001 test 003</schedule_zone>
</campaign_schedule>
</universal_campaign>
這裏是我的Java/JSP代碼:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(fileName);
NodeList nl, nl2;
NodeList campaign_details = doc.getElementsByTagName("universal_campaign");
String res = "";
for(int i = 0;i<campaign_details.getLength();i++){
nl = campaign_details.item(i).getChildNodes();
for(int j = 0; j<nl.getLength();j++){
nl2 = nl.item(j).getChildNodes();
for(int k = 0; k<nl2.getLength();k++){
res += nl2.item(k).getNodeName()+": "+nl2.item(k).getNodeValue()+"<br />";
}
}
}
但是當我輸出字符串資源,我得到:
#text:
campaign_id: null
#text:
campaign_title: null
#text:
campaign_sdate: null
#text:
campaign_edate: null
#text:
campaign_priority: null
#text:
#text:
schedule_sdate: null
#text:
schedule_edate: null
#text:
schedule_priority: null
#text:
schedule_content: null
#text:
schedule_content: null
#text:
schedule_zone: null
#text:
schedule_zone: null
#text:
schedule_zone: null
#text:
而且我不明白這一點...的getNodeName()如何返回節點的名稱,但getNodeValue()返回null ....? 請幫助我,我已經做了很多的搜索和在這裏發帖之前失敗的嘗試,但是毫無效果....: -/
感謝它的工作!但我仍然在輸出中顯示「#text:」爲什麼? – Piero
由於XML中的行返回。該空間被視爲文本節點,除空白字符外沒有任何內容。所以如果你知道你想要哪些元素,你最好只對這些元素進行過濾。 –
非常感謝你的時間! – Piero