簡體   English   中英

SimpleXML:任何匹配的元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM