0
Я пытаюсь сбрасывать xml с помощью HashMap и ArrayList.Java - Dumping to XML
Я хочу, чтобы он в следующем формате:
<Modscript>
<Class Name> Node </Class Name>
<Class Name Found> fi <Class Name Found>
<Field Name> getId<Field Name>
<Field Name Found> Dz <Field Name Found>
</Modscript>
Я использую следующие коды;
public static final HashMap<String, ClassNode> IDENTIFIED = new HashMap<>();
public static final ArrayList<FieldAnalyser> FIELDS = new ArrayList<FieldAnalyser>();
и
protected void addClass(ClassNode node, String name) {
IDENTIFIED.put(name, node);
}
protected ClassNode getClass(String name) {
return IDENTIFIED.get(name);
}
protected void addField(String cn, String fn, String name) {
FIELDS.add(new FieldAnalyser(cn, fn, name));
}
и
private final String owner;
private final String field;
private final String name;
public FieldAnalyser(String owner, String field, String name) {
this.owner = owner;
this.field = field;
this.name = name;
}
public String getOwner() {
return owner;
}
public String getField() {
return field;
}
public String getName() {
return name;
}
и, наконец, часть, которую я не могу понять, как сделать правильно;
Element root = doc.createElement("Modscript");
doc.appendChild(root);
Element Details = doc.createElement("test");
root.appendChild(Details);
for (FieldAnalyser fieldAnal : Analyser.FIELDS) {
Element tclass = doc.createElement("Class");
tclass.appendChild(doc.createTextNode(fieldAnal.getOwner()));
Details.appendChild(tclass);
Element tfield = doc.createElement("Field");
tfield.appendChild(doc.createTextNode(fieldAnal.getField()));
Details.appendChild(tfield);
Element tname = doc.createElement("name");
tname.appendChild(doc.createTextNode(fieldAnal.getName()));
Details.appendChild(tname);
}
Если вы могли бы помочь мне в правильном форматировании, это значило бы много! Заранее спасибо!