私は現在、ほとんどの場合にうまく機能する JAXB アノテーションを使用しています。ただし、注釈を処理/作成する方法がわかりません。次の XML があります。
<animals>
<animal>
cat
<age>5</age>
<color>red</color>
</animal>
</animals>
" " または " "cat
を取得せずにその XML から" " を取得する方法はありますか?5
red
これが私がこれまでに持っているものです:
@XmlRootElement(name = "animals")
public class Animal {
@XmlElement(name = "animal")
String type;
}
しかし、これを非整列化すると、空の文字列が得られます。
どんな助けでも大歓迎です!
編集
これは、私がやろうとしていることの完全な実例です:
@XmlRootElement(name = "animals")
private static class Animals {
@XmlElement(name = "animals")
String animalType;
}
// This code is in "main"
final String animalsXml = "<animals><animal>cat<color>red</color><age>5</age></animal></animals>";
JAXBContext context = JAXBContext.newInstance(Animals.class);
Unmarshaller um = context.createUnmarshaller();
ByteArrayInputStream bais = new ByteArrayInputStream(animalsXml.getBytes("UTF-8"));
Animals animals = (Animals)um.unmarshal(bais);
boolean animalIsCat = animals.animalType == null ? false : animals.animalType.equalsIgnoreCase("cat");
assert animalIsCat;
// end code in main