JAXB中没有根元素的XML

4
我想知道是否有一种方法可以创建一个对象,使得不需要根元素就能创建该对象的列表。例如,如果我想创建一个类似于XML的对象:
<Dogs>
  <Dog>A</Dog>
  <Dog>B</Dog>
  <Dog>C</Dog>
</Dogs>

我可以创建一个名为 Dogs 的类,它将作为根元素并包含一个 List<Dog>。现在假设我想要摆脱封装元素 <Dogs>,让狗的列表看起来像这样:
<Dog>A</Dog>
<Dog>B</Dog>
<Dog>C</Dog>

我该如何构建我的类?


2
我相当确定那不是有效的XML。更准确地说,它是一个有效的XML“片段”,但不是一个有效的XML“文档”。所以我认为JAX-RS不会允许那样做,至少不会在不进行大量奇怪更改的情况下允许。 - Tyler
1个回答

3
在XML中,这是不可能的。在http://www.w3.org/TR/xml/#NT-document规范中清楚地说明,一个文档只有一个根元素。
因此,您第二个类似XML的代码并不是一个XML文档,而是三个XML文档的串联。但解析器通常不准备处理这种输入。

但是我看到的XML文件没有一个根元素封装所有元素。而且golang的包可以毫无问题地解析它,但我想知道如何在Java中做到这一点。 - Allan Ruin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接