XML-иерархия со свойствами Java - PullRequest
1 голос
/ 11 сентября 2009

Допустим, у меня есть класс Foo с некоторыми примитивными переменными экземпляра. Я инициализирую их со свойствами в файлах XML. Теперь у каждого Foo также есть Bar в качестве переменной, которая, в свою очередь, имеет свои собственные свойства. Так как они привязаны к включающему объекту, имеет смысл хранить их в одном файле. Как мне отформатировать XML, чтобы он также мог инициализировать объект?

Ответы [ 3 ]

5 голосов
/ 11 сентября 2009

Использование Пружина . Он специально разработан, чтобы разрешить этот тип инициализации объекта, включая обработку ссылок между объектами.

2 голосов
/ 11 сентября 2009

Взгляните на XStream , который позволяет тривиально сериализовать / десериализовать иерархию объектов Java в / из XML.

В самом простом случае он будет работать с POJO, который не требует дополнительной работы (не требуется никаких интерфейсов / базовых классов и т. Д.). Но вы можете настроить его сериализацию и десериализацию для переименования элементов и т. Д. В соответствии с существующей структурой XML.

0 голосов
/ 11 сентября 2009

JAXB стоит посмотреть:

public class JaxbDemo {

  @XmlRootElement
  public static class Foo {
    @XmlElement public Bar bar;
  }

  public static class Bar {
    @XmlAttribute public int baz;
  }

  public static void main(String[] args) {
    String xml = "<foo><bar baz='123'/></foo>";
    Foo foo = JAXB.unmarshal(new StringReader(xml), Foo.class);
    System.out.println(foo.bar.baz);
  }
}

(Публичные члены используются для демонстрационных целей.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...