如何将xml数据存储到arraylist java中
我有一个包含数据的xml文件(不是完整的xml文件)
<header>
<ParameterContext>
<Parameter>
<Name>FILEID<Name>
<Value>1001445<Value>
</Parameter>
<Identifier>Id</Identifier>
</ParameterContext>
<ParameterContext>
<Parameter>
<Name>product</Name>
<Value>ECT</ns0:Value>
</Parameter>
<Identifier>ProductName</Identifier>
</ParameterContext>
</header>
请帮助我将此xml数据(parametercontext元素的数据)存储到arraylist中
很抱歉没有早点发布。 我有两个类对象和加载
public class object{
private ArrayList<ParameterContext> parameterCtx = new ArrayList<ParameterContext>();
public ArrayList<ParameterContext> getParameterCtx() {
return parameterCtx;
}
public void setParameterCtx(ParameterContext parameterCtx) {
this.parameterCtx.add(parameterCtx) ;
}
public Parameter searchParameter(String name, String identifier, ArrayList<ParameterContext> al) {
for(int i = 0; i < al.size(); i++) {
if(al.get(i).getIdentifier().equalsIgnoreCase(identifier)) {
for(int j = 0; j < al.get(i).getParameter().size(); j++) {
if(al.get(i).getParameter().get(j).getName().equalsIgnoreCase(name) ) {
return al.get(i).getParameter().get(j);
}
}
}
}
return null ;
}
}
及
public class load{
@XmlElement(name = "ParameterContext")
protected List<load.ParameterContext> parameterContext;
public List<load.ParameterContext> getParameterContext() {
if (parameterContext == null) {
parameterContext = new ArrayList<load.ParameterContext>();
}
return this.parameterContext;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"parameter",
"identifier"
})
public static class ParameterContext {
@XmlElement(name = "Parameter", required = true)
protected List<load.ParameterContext.Parameter> parameter;
@XmlElement(name = "Identifier", required = true)
protected String identifier;
public List<load.ParameterContext.Parameter> getParameter() {
if (parameter == null) {
parameter = new ArrayList<load.ParameterContext.Parameter>();
}
return this.parameter;
}
public String getIdentifier() {
return identifier;
}
public void setIdentifier(String value) {
this.identifier = value;
}
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"name",
"value"
})
public static class Parameter {
@XmlElement(name = "Name", required = true)
protected String name;
@XmlElement(name = "Value", required = true)
protected String value;
public String getName() {
return name;
}
public void setName(String value) {
this.name = value;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
当我使用对象时。searchparameter(“字段”,“ID”,object.getParameterCtx())。getValue())
NULLPOINTEREXCEPTION即将到来。(getparameterCtx未初始化)。在这行之前,我需要正确初始化它。如何初始化
# 1 楼答案
如果xml元素相同且重复,则使用getter/setter创建属性与元素相同的对象。解析xml数据并将值存储在对象中
# 2 楼答案
使用JAXB,创建一个模仿XML的类
诸如此类