4 Stimmen

Jibx - wie man unmarshal/marshal Tag mit Wert und Attribut?

<stateData>
   <MyTag name="voltage">12</Mytag>
   <MyTag name="Fuel">72</Mytag>
</stateData>

Tut mir leid, Leute, ich wollte nicht faul sein. Ok Hier ist die Frage: Ich habe eine Xml-Struktur mit obigem Xml-Block, bei dem einige Tags sowohl einen Wert als auch ein Attribut in Tag-Notation haben (MyTag hat den Wert 12 und einen Attributnamen). mit Jibx kann ich ein verbindliches Schema für diesen Fall erstellen. Offensichtlich für Xml-Tags mit nur Wert oder mit Attributen ohne Tag-Wert ist normal, aber wenn Sie beide von ihnen haben, weiß ich nicht, was zu tun ist. Danke!

3voto

Henryk Konsek Punkte 8856

Utilice <value/> Element zweimal in Ihrer Bindung. Einmal mit attribute und einmal mit text Stile.

Zum Beispiel - um folgendes zu binden StateData Klasse auf die gewünschte XML...

public class StateData {
  String name;
  String value;
}

...verwenden Sie die untenstehende Bindung:

<binding>
  <mapping name="stateData" class="StateData">
    <structure name="MyTag">
      <value style="attribute" name="name" field="name"/>
      <value style="text" field="value"/>
    </structure>
  </mapping>
</binding>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X