私はJAXBを初めて使用し、JAXBのデフォルトの動作について混乱しています。私が理解していることは次のとおりです。
JAXB は、関連するクラスを自動検出することにより、可能であれば JAXBContext を作成しようとします。たとえば、JAXB は、期待されるものと完全に一致しない XML ドキュメントを読み取ることができます。これは、JAXB unmarshaller のデフォルトの動作です。たとえば、Foo クラスがあるとします。
@XmlRootElement
class Foo{
@XmlAttribute
String name;
@XmlElement
String title;
}
Foo クラスは、次のドキュメントの代表的な Java クラスです。
<foo name=” element-value”>
<title>some title</title>
</foo>
次に、要素のコンテンツが Foo クラスによって表される次のドキュメントの XML インスタンスがあるとします。
<anotherTagName name=”element-value”>
<title>some title</title>
</anotherTagName>
これを Foo クラスに非整列化できます。次のように、'expectedType' 引数を取る非整列化メソッドのバージョンを使用します。
JAXBElement<Foo> root = um.unmarshal(new StreamSource(new File(“output.xml”)),
Foo.class);
Foo foo = root.getVlaue();
それはJAXBのデフォルトの動作ですか?私は要点を理解していますか、それとも迷っていますか?