1
に任意のオブジェクトとしてDOMノードを追加します。基本的に、私が試したことはノードを作成し、任意のリストに追加されます。は私がどんな要素を持つJAXBクラスを持つJAXBクラス
QName qn = new QName(...);
DocumentBuilderFactory f = DocumentBuilderFactory.newInstance();
doc = f.newDocumentBuilder().newDocument();
Node node = doc.createElementNS(qn.getNamespaceURI(), qn.getLocalPart());
myJaxbClass.getAny().add(node);
は、それから私はmarhsallingの操作を行います。バックのxmlに全体のJAXBクラスをマーシャリング
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document document = db.newDocument();
// Marshal the Object to a Document
JAXBContext jc2 = JAXBContext.newInstance(BookEntry.class);
Marshaller marshaller = jc2.createMarshaller();
marshaller.marshal(book, document);
はで失敗します例外:
com.sun.istack.SAXException2:それは@XmlRootElement注釈が欠落しているので、要素としてタイプ「MyApp.MyJaxBClass.BookEntry」をマーシャリングすることができない]
ノードを任意のリストにプログラムで正しく追加するにはどうすればよいですか?
ありがとうございました!私のJaxbクラスをJAXBElementにラップするのは、このトリックでした。だからA)私のために働いた! – Certainly