Java—转储到XML
我正在尝试使用HashMap和ArrayList转储到xml 我希望它采用以下格式:Java—转储到XML,java,xml,arraylist,hashmap,format,Java,Xml,Arraylist,Hashmap,Format,我正在尝试使用HashMap和ArrayList转储到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 Fo
<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>
及
最后是我不知道该怎么做的部分
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);
}
如果你能帮我正确地格式化,这将意味着很多!提前感谢 尝试了许多不同的方法后,我发现您必须使用迭代器
Set mapSet = (Set) Analyser.XMLDUMP.entrySet();
Iterator mapIterator = mapSet.iterator();
while (mapIterator.hasNext()) {
Map.Entry mapEntry = (Map.Entry) mapIterator.next();
String keyValue = (String) mapEntry.getKey();
String value = (String) mapEntry.getValue();
Element Details = doc.createElement(keyValue);
root.appendChild(Details);
Element id = doc.createElement("Class");
id.appendChild(doc.createTextNode(value));
Details.appendChild(id);
for (FieldAnalyser fieldAnal : Analyser.FIELDS ) {
if(fieldAnal.getOwner().equals(value)) {
Element fieldFound = doc.createElement(fieldAnal.getName());
fieldFound.appendChild(doc.createTextNode(fieldAnal.getField()));
Details.appendChild(fieldFound);
}
}
}
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);
}
Set mapSet = (Set) Analyser.XMLDUMP.entrySet();
Iterator mapIterator = mapSet.iterator();
while (mapIterator.hasNext()) {
Map.Entry mapEntry = (Map.Entry) mapIterator.next();
String keyValue = (String) mapEntry.getKey();
String value = (String) mapEntry.getValue();
Element Details = doc.createElement(keyValue);
root.appendChild(Details);
Element id = doc.createElement("Class");
id.appendChild(doc.createTextNode(value));
Details.appendChild(id);
for (FieldAnalyser fieldAnal : Analyser.FIELDS ) {
if(fieldAnal.getOwner().equals(value)) {
Element fieldFound = doc.createElement(fieldAnal.getName());
fieldFound.appendChild(doc.createTextNode(fieldAnal.getField()));
Details.appendChild(fieldFound);
}
}
}