Чтение XML -файла и написание в CSV с использованием JavaJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Чтение XML -файла и написание в CSV с использованием Java

Сообщение Anonymous »

Как написать XML в CSV, используя Java? Загрузите и проанализируйте файл XML < /li>
Получить все записи < /li>
Динамически извлекать заголовки < /li>
Конвертировать заголовки в массив для заказа < /li>
Напишите в csv < /li>
Написать строки < /li>
< /ol>
// Load and parse the XML file
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse("C:/Users/Ezekiel/Desktop/Java/looping.xml");
doc.getDocumentElement().normalize();

// Get all records
NodeList records = doc.getElementsByTagName("employee");

// Dynamically extract headers
Set headersSet = new HashSet();
for (int i = 0; i < records.getLength(); i++) {
Node node = records.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;
NodeList children = element.getChildNodes();
for (int j = 0; j < children.getLength(); j++) {
if (children.item(j).getNodeType() == Node.ELEMENT_NODE) {
headersSet.add(children.item(j).getNodeName());
}
}
}
}

// Convert headers to an array for ordering
String[] headers = headersSet.toArray(new String[0]);

// Write to CSV
try (FileWriter csvWriter = new FileWriter("C:/Users/Ezekiel/Desktop/Java/plot.csv")) {
// Write headers
csvWriter.append(String.join(",", headers)).append("\n");

// Write rows
for (int i = 0; i < records.getLength(); i++) {
Node node = records.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;
for (String header : headers) {
String value = element.getElementsByTagName(header).getLength() > 0
? element.getElementsByTagName(header).item(0).getTextContent()
: "";
csvWriter.append(value).append(",");
}
csvWriter.append("\n");
}
}
}

System.out.println("XML data has been successfully written to plot.csv");


Подробнее здесь: https://stackoverflow.com/questions/793 ... using-java
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»