2011-06-09 122 views
4

我想知道是否有办法创建一个对象,使得此类对象的列表不需要根元素。例如,如果我想创建一个像JAXB中没有根元素的XML

<Dogs> 
    <Dog>A</Dog> 
    <Dog>B</Dog> 
    <Dog>C</Dog> 
</Dogs> 

的XML我能有class Dogs这将是根元素并具有List<Dog>。现在假设我想摆脱封装元素<Dogs>。所以狗的名单看起来像

<Dog>A</Dog> 
<Dog>B</Dog> 
<Dog>C</Dog> 

我应该如何构建我的类?

+2

我很确定这不是有效的XML。或者更准确地说,它是一个有效的XML *片段*,但不是有效的XML *文档*。所以我不认为JAX-RS会允许这样做,至少在没有进行很多奇怪的改变的情况下也是如此。 – MatrixFrog 2011-06-09 22:41:27

回答

2

在XML中这是不可能的。 http://www.w3.org/TR/xml/#NT-document的规范清楚地表明一个文件有一个根元素。

因此,您的第二个类似于XML的代码不是一个XML文档,而是三个XML文档的串联。但解析器通常不会为这种输入做准备。

+0

但我确实看到没有一个根元素封装所有元素的xml文件。并且'golang'包解析没有问题,但是我想知道如何在java上执行它 – 2014-03-05 02:43:56