I have the following XML tag with many attributes. The number/name of the attributes is not given because I am getting the XML in runtime and I just know the name of the tag
Create 2 classes ScriptList
and Script
:
@XmlType(name = "ScriptList")
public class ScriptList {
private Collection<Script> scripts;
@XmlElement(name = "location")
public Collection<Script> getSripts() {
return scripts;
}
}
@XmlType(name = "script")
public class Script {
private String name;
private String value;
private String id;
private String alias;
@XmlAttribute(name="name")
public String getName() {
return name;
}
// add similar getters for value, id, alias.
// add setters for all fields.
}
I believe, that's all. At least this can be your starting point.
You can do:
@XmlAnyAttribute
private Map<QName, String> attributes;
Almost the Map<String, String>
that you wanted.