如果我们知道对象的结构,在“useAttributeFor”方法和别名的帮助下,我们可以映射相同的标记名称和类变量。但我的要求是在不知道对象结构的情况下将xml文件转换为对象。例如,我们有一个xml文件test.xml,其地址为:
<test>
<Name>John</Name>
<age>18</age>
</test>
现在我需要将此xml文件转换为对象。 我的Java类将如下:
public class Test
{
private String Name;
private int age;
public void setName(String Name,int age)
{
this.Name = Name;
this.age = age;
}
public void display()
{
System.out.println("Name: "+Name);
System.out.println("Age: "+age);
}
}
我是新手,所以请帮助我,并提前感谢你们
答案 0 :(得分:3)
假设您需要从xml文件加载配置。
<test>
<name>John</name>
<age>18</age>
</test>
您想将其加载到Configuration对象中:
public class Test
{
private String name;
private int age;
public void setName(String name,int age)
{
this.name = name;
this.age = age;
}
public void display()
{
System.out.println("Name: "+name);
System.out.println("Age: "+age);
}
}
你必须做的是:
FileReader fileReader = new FileReader("test.xml"); // load your xml file
XStream xstream = new XStream(); // init XStream
// define root alias so XStream knows which element and which class are equivalent
xstream.alias("test", Test.class);
Test test = (Test) xstream.fromXML(fileReader);`
就是这样!