2013-03-28 59 views
1

我想用java使用DOM解析器的幫助來解析XML文件,我想知道我要存儲XML文件,並在Java解析.java文件在eclipse中的目錄結構中。現在我的困惑是在eclipse的目錄結構中添加這兩個文件的位置?請幫我解決這個問題,在哪裏放置XML代碼的目錄結構日食而XML使用DOM

<?xml version="1.0" encoding="UTF-8"?> 
<stocks> 
<stock> 
<symbol>Citibank</symbol> 
<price>100</price> 
<quantity>1000</quantity> 
</stock> 
<stock> 
<symbol>Axis bank</symbol> 
<price>90</price> 
<quantity>2000</quantity> 
</stock> 
</stocks> 

and my.java code is here。

import java.io.File; 
import javax.xml.parsers.DocumentBuilder; 
import javax.xml.parsers.DocumentBuilderFactory; 
import org.w3c.dom.Document; 
import org.w3c.dom.Element; 
import org.w3c.dom.Node; 
import org.w3c.dom.NodeList; 

public class DOMExampleJava { 

public static void main(String args[]) { 
try { 

File stocks = new File("Stocks.xml"); 
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); 
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); 
Document doc = dBuilder.parse(stocks); 
doc.getDocumentElement().normalize(); 

System.out.println("root of xml file" + doc.getDocumentElement().getNodeName()); 
NodeList nodes = doc.getElementsByTagName("stock"); 
System.out.println("=========================="); 

for (int i = 0; i < nodes.getLength(); i++) { 
Node node = nodes.item(i); 

if (node.getNodeType() == Node.ELEMENT_NODE) { 
Element element = (Element) node; 
System.out.println("Stock Symbol: " + getValue("symbol", element)); 
System.out.println("Stock Price: " + getValue("price", element)); 
System.out.println("Stock Quantity: " + getValue("quantity", element)); 
} 
} 
} catch (Exception ex) { 
ex.printStackTrace(); 
} 
} 

private static String getValue(String tag, Element element) { 
NodeList nodes = element.getElementsByTagName(tag).item(0).getChildNodes(); 
Node node = (Node) nodes.item(0); 
return node.getNodeValue(); 
} 
} 
+0

我認爲這將取決於你正在使用的解析DOM解析器API。你可能也想提供這些信息。 – Kshitij 2013-03-28 08:56:05

+0

Kshitij我已經編輯我的問題,你可以看到我的代碼,所以請幫助我,我需要把我的代碼在eclipse目錄。 – 2013-03-28 10:06:35

回答

1

根據你的問題,我覺得你還沒有完成基本的eclipse設置。在嘗試你的XML解析程序之前,我建議通過這個eclipse getting started tutorial並運行本教程中給出的基本程序。這將確保您的eclipse設置已準備就緒。

接下來,將您的DOMExampleJava類添加到項目中(一旦您完成了本教程,您將知道項目引用了什麼內容),並確保編譯時沒有錯誤。然後嘗試運行解析示例。

至於XML文件的位置,假設您剛剛在File構造函數中指定了文件名,則必須將該文件放置在項目目錄中。另一種方法是指定在File構造的文件的絕對路徑,例如,在Windows的Linux File("/home/some/directory/stock.xml")File("C:/Answers/File/data.txt");這樣你就不用擔心它與eclipse目錄結構有關。

如果您有任何問題,讓我知道在評論中。

+0

非常感謝你。 statckoverflow簡直太棒了..... :) – 2013-03-29 06:12:48