<bas:person>
<req:vehicleinfo>
<!--Zero or more repetitions:-->
<bas:item>
<sch:modelno>k10</sch:modelno>
<sch:type>bs4</sch:type>
</bas:item>
<bas:item>
<sch:modelno>k12</sch:modelno>
<sch:type>bs5</sch:type>
</bas:item>
</req:extensionInfo>
</bas:person>
Assume namespace for bas is some http://xxxxx.person.com
for req is http://xxxxx.request.com
for bas http://xxxxx.bas.com
for sch http://xxxxx.sch.com
私はJavaオブジェクトで複数の値を持つ可能性があるため、ここでは車両情報をいくつかのプロジェクト依存関係にする必要があります。ここでヌル値を与えるネストされたxmlデータの非整列
は私のJavaクラスは、私は
SOAPMessage message = MessageFactory.newInstance().createMessage(null,
new ByteArrayInputStream(xmlInput.getBytes()));
JAXBContext jaxbContext = JAXBContext.newInstance(Person.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Person person= (Person) jaxbUnmarshaller.unmarshal(message.getSOAPBody().extractContentAsDocument());
を非整列化するために、次のコードを使用していますが、mは車両のためのNULように、キーと値の取得
@XmlRootElement(name="person")
@XmlAccessorType(XmlAccessType.FIELD)
public class Person implements Serializable{
@XmlElement(name="vehicleinfo",namespace="http://xxxxx.request.com")
private VehicleInfo[] vehicleinfo;
// getter & setter
}
車両情報
@XmlAccessorType(XmlAccessType.FIELD)
public class VehicleInfo{
@XmlAttribute(name="modelno",namespace="http://xxxxx.sch.com")
private String key;
@XmlAttribute(name="type",namespace="http://xxxxx.sch.com")
private String value;
//getter and setter
}
です情報
'VehicleInfo'と' Person'にゲッターとセッターを定義しましたか? –
はい!私は質問にスキップ –