, как сделать сортировку XML-элементов в XML , например ввода XML, как это Человек Б Сотрудник Б Человек С D Сотрудник С DСортировка узлов в XML
Теперь я хочу, чтобы отсортировать XML нравится вывод Person B Person C D Сотрудник B Сотрудник C D
То есть все узлы, которые начинаются с лица должны прийти первым, то Employye узлы ...
Пытаюсь, как это сейчас,
BufferedReader docInput = new BufferedReader(new InputStreamReader(inputStream));
BufferedWriter docOutput = new BufferedWriter(new OutputStreamWriter(outputStream));
StringBuffer insb = new StringBuffer();
String line = "", segment="";
String beginSegment = "";
Vector a=new Vector();
Vector b=new Vector();
Properties prop = System.getProperties();
String lineSeparator = prop.getProperty("line.separator");
int start=0,pos=0;
try
{
while ((line = docInput.readLine()) != null)
{
line.replace(lineSeparator,"");
insb.append(line);
}
pos=insb.indexOf(":Recipient");
pos=pos-15;
pos=insb.indexOf("<",pos);
beginSegment=insb.substring(0,pos);
System.out.println(" Begin "+beginSegment);
insb=insb.replace(0,pos,"");
while(insb.indexOf("Recipient>")>0)
{
pos=insb.indexOf("Recipient>");
segment=insb.substring(0,pos+10);
a.add(segment);
segment="";
insb=insb.replace(0,pos+10,"");
}
for(int y=0;y<b.size();y++)
if(b.get(y).toString().contains("Employee>"))
{
a.add(b.get(y).toString());
b.remove(y);
}
for(int y=0;y<a.size();y++)
b.add(a.get(y).toString());
b.add(0,beginSegment);
b.add(insb.toString());
for(int y=0;y<b.size();y++)
docOutput.write(b.get(y).toString());
docOutput.close();
docInput.close();
}
Почему вы не используете синтаксический анализатор XML? – Lucas
вы хотите сказать domparser – vardit
или парсер сакса ... или анализатор stax ... – Lucas