[英]SimpleXML : any element matching
我需要解析一個XML元素,它可能具有多種格式,具體取決於用戶需求。 這種格式在XSD中被實現為“ any ”元素。
我發現可以使用帶有@XmlAnyElement
批注的JAXB來做到這@XmlAnyElement
:
@XmlAnyElement
protected List<Element> any;
但是我想知道如何使用Simple Xml框架 。 可能嗎 ? 我需要同時混合JAXB和SimpleXml嗎?
這是關於簡單支持的相同問題: http : //ehc.ac/p/simple/mailman/message/33015962/
SimpleXml具有恰好適合此用例的Element*Union
功能。 看一下下面的內容,它將接口Result
的列表映射到Result1或Result2實現:
@Root(name = "response", strict = false)
public class Response {
@ElementListUnion({
@ElementList(inline = true, type = Result1.class, required=false),
@ElementList(inline = true, type = Result2.class, required=false)
})
private @Nullable List<Result> resultList;
...
SimpleXml嘗試並綁定一個或另一個實現,這就是為什么建議為您的獲取者提供一個通用接口的原因。 當然,您仍然需要以某種方式編寫與輸入中的xml匹配的模型,但是聯合可以幫助減少輸入到您的業務/軟件域的異構數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.