簡體   English   中英

我如何在java中將波浪號分隔的csv文件轉換為xml

[英]How Can I convert a tilde separated csv file into xml in java

1RW~800~4~22~1~48:2~true
1RW~800~16~39~1~48:2~true
1RW~800~640~330~1~48:2~true
1RW~800~40~124~1~48:2~true

這是我的 csv 文件文本,我想閱讀它並將每個值放在由 ~ 分隔的行中,放入不同的 xml 元素中。 我將遍歷這個並形成 4 個不同的 xml

您可以使用OpenCSV此處的簡短教程)讀取您的 CSV 文件並將其寫入 XML

這是使用上述技術可以完成的一種方法

// create the CSVReader
CSVReader reader = new CSVReader(new FileReader("yourfile.csv"), '~');

// create the DocumentBuilder which will create our xml documents
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();

// create the transoformer which will make the xml ready for storing
TransformerFactory transformerFactory = TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();

// loop through the 4 rows
for (int i = 0; i < 4; i++) {

    // read one row from the csv
    String [] line = reader.readNext()

    // create an xml document
    Document doc = docBuilder.newDocument();
    Element rootElement = doc.createElement("data-"+i);
    doc.appendChild(rootElement);

    // iterate over the entries in the row
    for (String s : line) {
        Element element = doc.createElement("element");
        element.appendChild(doc.createTextNode(s));
        rootElement.appendChild(element);
    }

    // finally save it:
    DOMSource source = new DOMSource(doc);
    StreamResult result = new StreamResult(new File("file_"+i+".xml"));
    transformer.transform(source, result);

    System.out.println("File " + i + " saved!");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM