[英]Simple Java Xml to POJO mapping/binding?
我試圖找出將xml文件映射到普通的舊Java對象的最簡單方法。
注意:在我的示例中,xml與我想要的POJO不太匹配。
///////// THE XML
<?xml version="1.0" encoding="UTF-8"?>
<Animal>
<standardName>
<Name>Cat</Name>
</standardName>
<standardVersion>
<VersionIdentifier>V02.00</VersionIdentifier>
</standardVersion>
</Animal>
////// THE INTENDED POJO
class Animal
{
private String name;
private String versionIdentifier;
}
常規JAXB(帶有批注)將不起作用,因為JAXM元素名稱批注不允許我指定嵌套元素。 (即standardName / Name)。
我看過Jibx,但是它似乎過於復雜,並且沒有提供我想做的完整示例。
Castro似乎可以執行我想要的操作(使用映射文件),但是我想知道是否還有其他可能的解決方案。 (可能允許我跳過映射文件,而僅允許我在注釋中指定所有內容)。
謝謝
EclipseLink JAXB(MOXy)允許您執行要查找的基於路徑的映射:
@XmlRootElement
class Animal
{
@XmlPath("standardName/Name/text()")
private String name;
@XmlPath("standardVersion/VersionIdentifier/text()");
private String versionIdentifier;
}
有關更多信息,請參見:
EclipseLink還允許使用外部配置文件來指定元數據:
本文可能對您有幫助...它只需要您知道xpath http://onjava.com/onjava/2007/09/07/schema-less-java-xml-data-binding-with-vtd-xml.html
Jakarta Commons Digester應該做您想要的。
另外,我建議編寫一個使用XPath從XML檢索元素的轉換類。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.