Я хочу сортировать элементы в файле xml в соответствии с выбранным типом алгоритма пользователем в java.i, который объединил xml-файл, содержащий 10 xml-файлов. поэтому он будет похож на первый пользовательский тип выбора алгоритма, а затем программные элементы сортировки по мере того, как пользователь хочет. Как я могу это сделать? Просьба помочь мнесортировка элементов из xml-файла в java
вот как я слился XML файлы
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
public class Merge2 {
public static void main(String[] args) {
String sourceFile1Path = "C:\\Users\\project\\Numbers1.xml";
String sourceFile2Path = "C:\\Users\\project\\Numbers2.xml";
String sourceFile3Path = "C:\\Users\\project\\Numbers3.xml";
String sourceFile4Path = "C:\\Users\\project\\Numbers4.xml";
String sourceFile5Path = "C:\\Users\\project\\Numbers5.xml";
String sourceFile6Path = "C:\\Users\\project\\Numbers6.xml";
String sourceFile7Path = "C:\\Users\\project\\Numbers7.xml";
String sourceFile8Path = "C:\\Users\\project\\Numbers8.xml";
String sourceFile9Path = "C:\\Users\\project\\Numbers9.xml";
String sourceFile10Path = "C:\\Users\\project\\Numbers10.xml";
String mergedFilePath = "C:\\Users\\project\\mergedXML.xml";
File[] files = new File[10];
files[0] = new File(sourceFile1Path);
files[1] = new File(sourceFile2Path);
files[2] = new File(sourceFile3Path);
files[3] = new File(sourceFile4Path);
files[4] = new File(sourceFile5Path);
files[5] = new File(sourceFile6Path);
files[6] = new File(sourceFile7Path);
files[7] = new File(sourceFile8Path);
files[8] = new File(sourceFile9Path);
files[9] = new File(sourceFile10Path);
File mergedFile = new File(mergedFilePath);
mergeFiles(files, mergedFile);
}
public static void mergeFiles(File[] files, File mergedFile) {
FileWriter fstream = null;
BufferedWriter out = null;
try {
fstream = new FileWriter(mergedFile, true);
out = new BufferedWriter(fstream);
} catch (IOException e1) {
e1.printStackTrace();
}
for (File f : files) {
System.out.println("merging: " + f.getName());
FileInputStream fis;
try {
fis = new FileInputStream(f);
BufferedReader in = new BufferedReader(new InputStreamReader(fis));
String aLine;
while ((aLine = in.readLine()) != null) {
out.write(aLine);
out.newLine();
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
и мой слитый файл XML начинается, как показано ниже
<numberList>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<number index="1">770820</number>
<number index="2">640903</number>
<number index="3">997132</number>
<number index="4">193504</number>
я хочу, чтобы показать, как
<numberList>
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<number index="1">193504</number>
<number index="2">640903</number>
<number index="3">770820</number>
<number index="4">997132</number>
Вы должны использовать массивы (или коллекции) и циклы вместо копирования/вставки строк кода. Кстати, я не получаю то, что вы хотите сделать после слияния файлов. – Dici
, но я не хочу менять часть индекса, не могли бы вы показать мне, как я могу это сделать? – sezen