我需要用java讀取XML文件。文件結構如下。用Java讀取XML文件
<?xml version="1.0" encoding="UTF-8"?>
<xml_tool xmlns:md="http://www.example.com/XT/1.0/">
<md:header>
<md:application_version>1.0</md:application_version>
<md:export_date>19-04-2012</md:export_date>
<md:export_time>14:55</md:export_time>
<md:export_user>USER01</md:export_user>
</md:header>
<md:table table_name="CUSTOMER" key="customer number" record_count="2" column_count="5">
<md:record>
<md:column name="customer_number">123456</md:column>
<md:column name="reg_date">01-04-2012</md:column>
<md:column name="customer_name">Test Customer</md:column>
<md:column name="customer_type">Normal </md:column>
<md:column name="comments">This is a test record</md:column>
</md:record>
<md:record>
<md:column name="customer_number">555111</md:column>
<md:column name="reg_date">02-04-2012</md:column>
<md:column name="customer_name">Test Customer</md:column>
<md:column name="customer_type">VIP </md:column>
<md:column name="comments">This is a test record</md:column>
</md:record>
</md:table>
</xml_tool>
我已閱讀How to read XML file in Java – (DOM Parser)例子,嘗試做我的工作。但是我無法成功讀取XML文件。
我的代碼
try {
File fXmlFile = new File("c:\\file.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory
.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("md:record");
for (int i = 0; i < nList.getLength(); i++) {
Node node = nList.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) node;
System.out.println(getTagValue("md:column", eElement));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
private static String getTagValue(String sTag, Element eElement) {
NodeList nlList = eElement.getElementsByTagName(sTag).item(0).getChildNodes();
Node nValue = (Node) nlList.item(0);
return nValue.getNodeValue();
}
和結果
123456
555111
我怎麼能讀這個XML文件?
也許你可以進一步闡述'...我無法......'。你嘗試過什麼,什麼不起作用(代碼)? – home 2012-04-25 07:00:41
@home我已更新我的問題 – Bishan 2012-04-25 07:06:09
不幸的是,您的更新並未使您的問題更清楚。 – 2012-04-25 07:14:05