我似乎无法从Child中获得xml中的属性信息。我尝试了几种不同的方法,但没有一种有效。 (从父级获取属性信息效果很好)
这是我的XML的简短版本
<HarnessContainer xsi:noNamespaceSchemaLocation="xxx" Signature="15D823AAFC2CC91A61E1755C76E621"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Harness HarnessName="" HarnessDate="13.08.2019">
<!--...-->
</Harness>
</HarnessContainer>
这是我的父母班
@XmlRootElement(name = "HarnessContainer")
@XmlAccessorType(XmlAccessType.FIELD)
public class HarnessContainer implements Serializable {
private Harness harness;
@XmlAttribute(name = "Signature")
private String Signature;
public HarnessContainer() {
}
public HarnessContainer(Harness harness, String signature) {
this.harness = harness;
Signature = signature;
}
//setters and getters
}
这是我的孩子班
@XmlRootElement(name = "Harness")
@XmlAccessorType(XmlAccessType.FIELD)
public class Harness implements Serializable {
@XmlAttribute(name = "HarnessDate")
private String harnessDate;
public Harness() {
}
public Harness(String harnessDate) {
this.harnessDate = harnessDate;
}
//setters and getters
}
这是正在调用的类
public class main {
public static void main(String[] args) throws JAXBException, IOException {
File xmlFile = new File("C:\\Users\\Mini\\Desktop\\Desktop\\file.xml");
JAXBContext jaxbContext;
try {
jaxbContext = JAXBContext.newInstance(HarnessContainer.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
HarnessContainer harnessContainer = (HarnessContainer) jaxbUnmarshaller.unmarshal(xmlFile);
System.out.println(harnessContainer.getHarness().getHarnessDate());
} catch (JAXBException e) {
e.printStackTrace();
}
}
}
我选择使用@XmlAccessorType(XmlAccessType.FIELD),因为我计划有很多字段,而这种附件类型似乎最适合此类型。我还尝试了不同的注释,但没有一个起作用。
答案 0 :(得分:0)
您的问题不是不是insert_id :[161,162,163,164] and venue_id :[21,3,5,6]
XML属性没有被映射,而是您的问题是整个videoHTML:any;
getVideoHTML(videoNumber, trackName, trackType = 'srt') {
this.videoHTML = '<video id="video-js" class="video-js vjs-default-skin" ' +'controls preload="auto" width="640" height="264" ' +'poster="img/' + videoNumber + '.jpg"' +
'data-setup=\'{"example_option":true}\'>' +
'<source src="videos/' + videoNumber + '.mp4" type="video/mp4" />' +
'<track id="video-srt" kind="captions" src="subs/' + trackName + '.' + trackType + '" srclang="it" label="Italian" default></track>' +
'</video>';
}
对象没有被映射。
这是因为默认元素名称不是XML中的名称。要修复,请指定名称:
<div [innerHTML]="videoHTML"></div>
Harness
字段现在将不为空,而Harness
字段将不为空。