[英]How do I marshal a JAXB object to XOM?
我正在試圖弄清楚我需要將哪些位插在一起以將JAXB POJO封送到XOM文檔,反之亦然。
JAXB Marshaller
接口的marshal方法采用各種目標,例如Result
,但它們都沒有XOM適配器。 XOMResult
是,XOM API確實有一個XOMResult
實現,但是它受到包保護,並且只在內部使用。
有沒有其他方法可以在不使用String或字節緩沖區的情況下編組到XOM或從XOM編組?
我不確定你是否對使用DOM來實現這一目標不利,因為你可能正在使用XOM來避免使用DOM! 無論如何,使用這里描述的JAXB Binder和XOM的DOMConverter ,您可以從JAXB到DOM再到XOM而不使用String或字節緩沖區。
由於JAXB還支持對該對象的實例進行編組,因此XOM沒有實用程序從SAX ContentHandler創建XOM文檔太糟糕了。 XOM有一個SAXConverter可以從Document創建ContentHandler,但不是相反。
這是一個與XOM興趣郵件列表相關的線程。
我發現舊項目nux :
http://acs.lbl.gov/software/nux//api/nux/xom/pool/XOMUtil.html
jaxbMarshal / jaxbUnmarshal使用DOMConverter ;-(
灣 http://acs.lbl.gov/software/nux/api/nux/xom/io/StaxUtil.html ...還包括一個使用StAX解析器而不是SAX解析器的XOM Builder實現; 加上從底層XOM文檔或片段讀取的XMLStreamReader實現; 加上其他工具。
StaxUtil.createXMLStreamReader(Node root)構造並返回從底層XOM節點讀取的StAX XMLStreamReader拉解析器實現; 通常是文檔或片段(子樹); 非常適合將XOM樹高效轉換為SOAP / AXIOM,JAXB 2,JiBX或XMLBeans,例如,通過Unmarshaller逐步轉換XQuery結果時,可能與StreamingPathFilter結合使用。
可能這可以幫忙嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.