Я пытаюсь прочитать файл xml и сохранить его содержимое как объект для дальнейшего использования.Я могу воспроизвести подобный объект, используя метод toXML () и предоставляя образцы данных, однако, когда я вызываю fromXML () для того же объекта, я получаю ошибку.Проблема в том, что у меня несколько экземпляров полей.XML выглядит примерно так ...
<House>
<Address>
<Number>1234</Number>
<Street>Sample St.</Street>
<City>Sample City</City>
</Address>
<Resident>
<Name>Joe</Name>
<Age>38</Age>
<Profession>
<Title>Engineer</Title>
<Title>Developer</Title>
</Profession>
</Resident>
<Resident>
<Name>Cathy</Name>
<Age>35</Age>
<Profession>
<Title>Engineer</Title>
<Title>Developer</Title>
</Profession>
</Resident>
</House>
Итак, в этом примере два резидента, и у каждого из них по две должности.Я попытался определить эти теги как массивы в конструкторах для их соответствующих классов, но, похоже, это не сработало.Это прекрасно работает, если у меня есть только один экземпляр Resident или Title и т. Д.
Вот код Java (скопировано из комментария ниже):
XStream xstream = new XStream(new DomDriver());
FileReader fin = new FileReader("path_to_file.xml");
BufferedReader br = new BufferedReader(fin);
while(br.ready())
{
str += br.readLine() + "\n";
}
House house = (House)xstream.fromXML(str);
import java.util.ArrayList;
public class House {
private Address Address;
private ArrayList<Resident> Resident;
public House(Address address, ArrayList<Resident> resident) {
Address = address;
Resident = resident;
}
public Address getAddress() {
return Address;
}
public void setAddress(Address address) {
Address = address;
}
public ArrayList<Resident> getResident() {
return Resident;
}
public void setResident(ArrayList<Resident> resident) {
Resident = resident;
}
}