Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
空列表解组Java对象_Java_Xml_Collections_Jaxb_Unmarshalling - Fatal编程技术网

空列表解组Java对象

空列表解组Java对象,java,xml,collections,jaxb,unmarshalling,Java,Xml,Collections,Jaxb,Unmarshalling,我试图使用JAXB解组器将XML文档生成到Java对象中。在XML文档中,如果有元素要呈现给类列表的类Java对象,但生成的对象列表为空,尽管it元素中有内容 XML文档中的元素是否因为没有Java上的类表示那么完整而导致JAXB无法将XML文档解析为类表示 是否有人可以帮助我,为什么会发生这种情况,解决方案是什么?如果不知道对象模型或XML文档,很难说出解组操作无法正常工作的原因。下面我有一个包装和未包装集合的示例,可以帮助您找出用例中可能存在的错误: input.xml/Output <

我试图使用JAXB解组器将XML文档生成到Java对象中。在XML文档中,如果有元素要呈现给类列表的类Java对象,但生成的对象列表为空,尽管it元素中有内容

XML文档中的元素是否因为没有Java上的类表示那么完整而导致JAXB无法将XML文档解析为类表示


是否有人可以帮助我,为什么会发生这种情况,解决方案是什么?

如果不知道对象模型或XML文档,很难说出解组操作无法正常工作的原因。下面我有一个包装和未包装集合的示例,可以帮助您找出用例中可能存在的错误:

input.xml/Output

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<root>
    <item>A</item>
    <item>B</item>
    <item>C</item>
    <items>
        <item>D</item>
        <item>E</item>
        <item>F</item>
    </items>
</root>
演示

package forum11219454;

import java.io.File;
import javax.xml.bind.*;

public class Demo {

    public static void main(String[] args) throws Exception {
        JAXBContext jc = JAXBContext.newInstance(Root.class);

        Unmarshaller unmarshaller = jc.createUnmarshaller();
        File xml = new File("src/forum11219454/input.xml");
        Root root = (Root) unmarshaller.unmarshal(xml);

        Marshaller marshaller = jc.createMarshaller();
        marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
        marshaller.marshal(root, System.out);
    }

}
了解更多信息


    • 在不了解对象模型或XML文档的情况下,很难说出解组操作无法正常工作的原因。下面我有一个包装和未包装集合的示例,可以帮助您找出用例中可能存在的错误:

      input.xml/Output

      <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
      <root>
          <item>A</item>
          <item>B</item>
          <item>C</item>
          <items>
              <item>D</item>
              <item>E</item>
              <item>F</item>
          </items>
      </root>
      
      演示

      package forum11219454;
      
      import java.io.File;
      import javax.xml.bind.*;
      
      public class Demo {
      
          public static void main(String[] args) throws Exception {
              JAXBContext jc = JAXBContext.newInstance(Root.class);
      
              Unmarshaller unmarshaller = jc.createUnmarshaller();
              File xml = new File("src/forum11219454/input.xml");
              Root root = (Root) unmarshaller.unmarshal(xml);
      
              Marshaller marshaller = jc.createMarshaller();
              marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true);
              marshaller.marshal(root, System.out);
          }
      
      }
      
      了解更多信息