0
我想將XML文件轉換爲CSV文件。所以我只是解析XML文件。現在我想寫這個解析數據到CSV文件中。我不知道如何寫這個解析數據。所以,請幫我在如何將解析數據寫入csv
<data399173_eff_sor>
<record>
<ID>1</ID>
<item_no>1.0</item_no>
<description>Hack off tiles and make good walls</description>
<price>100</price>
<base_qty>50</base_qty>
<var_qty>20</var_qty>
<base_price_>5000</base_price_>
</record>
<record>
<ID>1</ID>
<item_no>1.03</item_no>
<description>Test</description>
<price>45</price>
<base_qty>100</base_qty>
<var_qty>4500</var_qty>
<base_price_>0</base_price_>
</record>
</data399173_eff_sor>
Java代碼:
public static void main(String argv[]) {
try {
File fXmlFile = new File("D:/formdata.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();
System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("record");
System.out.println("----------------------------");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
System.out.println("Item No : " + eElement.getElementsByTagName("item_no").item(0).getTextContent());
System.out.println("Description : " + eElement.getElementsByTagName("description").item(0).getTextContent());
System.out.println("price : " + eElement.getElementsByTagName("price").item(0).getTextContent());
System.out.println("base qty : " + eElement.getElementsByTagName("base_qty").item(0).getTextContent());
System.out.println("Var qty : " + eElement.getElementsByTagName("var_qty").item(0).getTextContent());
System.out.println("Base price : " + eElement.getElementsByTagName("base_price_").item(0).getTextContent());
}
}
generateCsvFile("d:\\testCSV.csv");
} catch (Exception e) {
e.printStackTrace();
}
}
private static void generateCsvFile(String sFilename) {
// TODO Auto-generated method stub
try
{
FileWriter writer = new FileWriter(sFilename);
writer.flush();
writer.close();
}
catch(IOException e)
{
e.printStackTrace();
}
}
所以現在該怎麼寫解析數據我剛纔創建generateCsvFile()函數創建的文件,我不知道其所謂的正確的地方
CSV是逗號分隔的數據格式。從數據字段中創建一個字符串,用逗號分隔,並使用'generateCsvFile'方法中已有的'writer'編寫它們。 – mcfinnigan
@mcfinnigan我knw是什麼csv文件。我的問題是如何編寫解析數據不是什麼csv文件 – Aanshi
所以你知道如何解析XML,並打印出你的主要方法中的解析值,你知道什麼是CSV文件是,但你不確定如何從你的主要方法獲取數據到CSV文件中?你確定你的代碼實際上是你的嗎? – mcfinnigan