我正在尝试为html xml文件设置映射方案,我真的在寻求建议。我是解组xml内容的新手。在我看来,每个部分似乎都需要一堂课。我希望有更好的方法。我的文件看起来像这样。我才刚刚开始尝试了解如何解决此问题,而我的头在旋转:)。我正在查看HEAD的类,HEADRTR的类,FDE的类和MM部分的类。但是如果列表列表很多,这似乎会变得笨拙且麻烦。机械生成状态消息的真实示例。 ???谢谢您的建议。所需的部分是HEAD部分的内容,HEADRTR部分的内容以及FDE和MM部分的内容。
A 008812111835040016XXXXXXXXXX
<RTR>
<HEAD>
<IDCMS pn="ABF31A6FNCL0004" vers="4.0"/>
<DA>2018/12/11 00:15:42</DA>
<ACD MSN="0160" tail="N504DN" type="A350-900"/>
<TID>C00000023</TID>
</HEAD>
<HEADRTR>
<FROM>ZSPD</FROM>
<TO>KLAX</TO>
<FNBR>DAL88 </FNBR>
</HEADRTR>
<ITD>
<CB>A</CB>
<FDE disp="n" dm="y">
<MC>3031H050</MC>
<MD>A-ICE // > A-ICE SIDESLIP PROBE 2 HEATG</MD>
<DA>2018/12/11 00:12:42</DA>
<CDA>2018/12/11 00:14:17</CDA>
<FPH>8</FPH>
<LAB>1</LAB>
</FDE>
<MM fo="A" occ="5">
<MC>3413F7EV</MC>
<MD>PROBE-SSA,2(11FP2)</MD>
<DA>2018/12/11 00:08:43</DA>
<ATA>3413</ATA>
<FPH>8</FPH>
<FCL>1</FCL>
<PRIO>high</PRIO>
<STA>1</STA>
<SYS name="ADR2" bite_id="3" side="2"/>
</MM>
</ITD>
</RTR>
从头开始,这是普通班,想知道您是否可以告诉我我是否走了正确的道路。这是做属性和元素的正确方法吗?
@XmlRootElement( name = "HEAD" )
@XmlAccessorType(XmlAccessType.FIELD)
public class Head {
String pn;
String vers;
String da;
String msn;
String tail;
String type;
String tid;
public String getPn() {
return pn;
}
public String getVers() {
return vers;
}
public String getDa() {
return da;
}
public String getMsn() {
return msn;
}
public String getTail() {
return tail;
}
public String getType() {
return type;
}
public String getTid() {
return tid;
}
@XmlAttribute(name="pn")
public void setPn(String pn) {
this.pn = pn;
}
@XmlAttribute(name="vers")
public void setVers(String vers) {
this.vers = vers;
}
@@XmlElement(name="da")
public void setDa(String da) {
this.da = da;
}
@XmlAttribute(name="msn")
public void setMsn(String msn) {
this.pn = pn;
}
@XmlAttribute(name="tail")
public void setTail(String tail) {
this.tail = tail;
}
@XmlAttribute(name="type")
public void setPn(String type) {
this.type = type;
}
@XmlElement(name="tid")
public void setDa(String tid) {
this.tid = tid;
}
}
答案 0 :(得分:2)
不太完全,您的模型对于所表示的结构而言太平坦了。
<HEAD>
<IDCMS pn="ABF31A6FNCL0004" vers="4.0"/>
<DA>2018/12/11 00:15:42</DA>
<ACD MSN="0160" tail="N504DN" type="A350-900"/>
<TID>C00000023</TID>
</HEAD>
每个子元素都需要定义自己的子元素和/或属性:
@XmlRootElement(name = "HEAD")
public class Head {
@XmlElement(name = "IDCMS") private Idcms idcms;
@XmlElement(name = "DA") private String da;
@XmlElement(name = "ACD") private Acd acd;
@XmlElement(name = "TID") private String tid;
... getters/setters
}
public class Idcms {
@XmlAttribute(name = "pn") private String pn;
@XmlAttribute(name = "vers") private String vers;
... getters/setters
}
public class Acd {
@XmlAttribute(name = "MSN") private String msn;
@XmlAttribute(name = "tail") private String tail;
@XmlAttribute(name = "type") private String type;
... getters/setters
}