Java—转储到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

我正在尝试使用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 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);
                }
            }
        }