Jibx - how to unmarshal/marshal tag with value and

2019-03-30 06:40发布

问题:

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

Sorry Guys, I did not meant to be lazy. Ok Here is the question: I have xml structure with above block of xml which some tags has both value and attribute in tag notation( MyTag has value of 12 and has an attribute name). using Jibx how I can create binding schema for such case. Obviously for xml tags with only value or with attributes without tag value is normal, but when you have both of them I don't know what to do. Thanks.

回答1:

Use <value/> element twice in your binding. Once with attribute and once with text styles.

For example - to bind the following StateData class to the XML you want...

public class StateData {
  String name;
  String value;
}

...use the binding below:

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