Я хочу создать новый Xml-файл только из выбранных узлов. Я использую dom4j для разбора и создания нового XML-файла. Пример позволяет предположить имя Вершины клиента = Джозеф является дочерним корневым элементом TRX я хочу показать целые элементы, которые содержат Иосиф и создать новый файлЯ хочу выполнить поиск и конкретные узлы или элементы в xml и создать новый xml из узлов выбора
enter code here
File inputFile = new File("C:\\Users\\db2admin\\Desktop\\S4decs\\tlog01_004.xml");
SAXReader reader = new SAXReader(true);
reader.setValidation(false);
reader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);
Document document = reader.read(inputFile);
document.getRootElement();
document.selectNodes("//TRX[@type]='16'").size();
document.selectNodes("/CUSTOMER").size();
// Pretty print the document to System.out
OutputFormat format = OutputFormat.createPrettyPrint();
XMLWriter writer;
writer = new XMLWriter(System.out, format);
writer.write(document);
} catch (DocumentException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE TRANSACTIONS SYSTEM "tlog.dtd">
<TRANSACTIONS storeid="4" sbs="780030" location="1">
<TRX type="16" term="742" trxnum="143895" saleperson="0" supervisor_id="152332149" storeid="4" sbs="780030" opcode="153135959" date="20160915" endtime="111000">
</TRX>
<TRX type="31" term="742" trxnum="143896" starttime="095720" supervisor_id="152332149" storeid="4" sbs="780030" opcode="153135959" date="20160915" endtime="111001">
<CASHOPER managerid="153135959">
<PAYMENT id="1" amount="3000.00" descr="CASH" tndnumb="1" exchangetndid="0">
</PAYMENT>
</CASHOPER>
<LINKTRX linktype="8" prevstoreid="4" prevxactdate="2016-09-14" prevxacttime="22:58:29" prevtermid="0" prevxactid="7620" prevoperid="0"></LINKTRX>
</TRX>
<TRX type="16" term="743" trxnum="65729" saleperson="0" supervisor_id="153136068" storeid="4" sbs="780030" opcode="152332262" date="20160915" endtime="111219">
</TRX>
Проблема, когда я запускаю этот файл с показом всего файла Xml –
Вы не вносите никаких изменений в документ. Создайте новый документ и добавьте выбранные узлы из открытого документа в новый. Смотрите: http://dom4j.sourceforge.net/dom4j-1.6.1/guide.html#Creating_a_new_XML_document –
Спасибо, сэр Ф.Клейн –