Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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 JaxB last字段在解组时返回null_Java_Xml_Jaxb_Marshalling_Unmarshalling - Fatal编程技术网

Java JaxB last字段在解组时返回null

Java JaxB last字段在解组时返回null,java,xml,jaxb,marshalling,unmarshalling,Java,Xml,Jaxb,Marshalling,Unmarshalling,我正在尝试使用JaxB解组xml文件。它获取除最后一部分(值)之外的所有值。该值可以是简单值,也可以是值列表。我可以通过排除translationObjectValue来获得该值,但这只适用于单个值,而不适用于值列表。我想支持这两种值类型。下面是我的xml文件的示例 <?xml version="1.0" encoding="UTF-8"?><translationObjectFile fileType="ASSETMETADATA"> <transla

我正在尝试使用JaxB解组xml文件。它获取除最后一部分(值)之外的所有值。该值可以是简单值,也可以是值列表。我可以通过排除translationObjectValue来获得该值,但这只适用于单个值,而不适用于值列表。我想支持这两种值类型。下面是我的xml文件的示例

    <?xml version="1.0" encoding="UTF-8"?><translationObjectFile fileType="ASSETMETADATA">
  <translationObjectProperties>
    <property isMultiValue="false" nodePath="/content/dam/we-retail/fr/experiences/steelhead-and-spines-in-alaska/steelhead-and-spines-in-alaska-1.jpg/jcr:content/metadata" propertyName="dc:description">Test92 - Desc</property>
    <property isMultiValue="false" nodePath="/content/dam/we-retail/fr/experiences/steelhead-and-spines-in-alaska/steelhead-and-spines-in-alaska-1.jpg/jcr:content/metadata" propertyName="dc:rights">Sample Photography</property>
    <property isMultiValue="true" nodePath="/content/dam/we-retail/fr/experiences/steelhead-and-spines-in-alaska/steelhead-and-spines-in-alaska-1.jpg/jcr:content/metadata" propertyName="dc:subject">
      <value order="0">alaska</value>
      <value order="1">bolivia</value>
      <value order="2">camping</value>
      <value order="3">condoriri</value>
    </property>
    <property isMultiValue="false" nodePath="/content/dam/we-retail/fr/experiences/steelhead-and-spines-in-alaska/steelhead-and-spines-in-alaska-1.jpg/jcr:content/metadata" propertyName="dc:title">Test92 - Title</property>
  </translationObjectProperties>
</translationObjectFile>
以下是用于解组内容的代码:

String inputStream = IOUtils.toString(xmlInputStream, "UTF-8"); 
final JAXBContext jc = JAXBContext.newInstance(TranslationObjectFile.class);
final Unmarshaller unmarshaller = jc.createUnmarshaller();
Object value = unmarshaller.unmarshal(new StringReader(inputStream));
return (T) value;
提前谢谢你

@XmlAccessorType(XmlAccessType.FIELD)
public class TranslationObjectProperty {
    @XmlAttribute
    private boolean isMultiValue;
    @XmlAttribute
    private String nodePath;
    @XmlAttribute(name = "propertyName")
    private String propertyNameValue;
    @XmlElementWrapper
    @XmlElement(name = "value")
    private List<TranslationObjectValue> subjectValue;
@XmlAccessorType(XmlAccessType.FIELD)
public class TranslationObjectValue {
    @XmlValue
    private String value;
String inputStream = IOUtils.toString(xmlInputStream, "UTF-8"); 
final JAXBContext jc = JAXBContext.newInstance(TranslationObjectFile.class);
final Unmarshaller unmarshaller = jc.createUnmarshaller();
Object value = unmarshaller.unmarshal(new StringReader(inputStream));
return (T) value;