簡體   English   中英

使用Castor根據屬性值解析xml

[英]using Castor to parse xml based on attribute values

使用Castor使用映射文件將以下xml解析為POJO非常簡單:

<human name="bob"/>
<dog owner="alice"/>

它使用元素的名稱映射到類。 但是,如果應該使用屬性進行映射怎么辦? 例如:

<animal type="human" name="bob"/>
<animal type="dog" owner="alice"/>

這個人為設計的示例基於我必須使用的XML(我還沒有編寫它!)。 關於如何使用Castor映射文件解決此問題的任何想法?

有兩種方法可以解決此問題。 更改Java類結構以使人和狗擴展動物,然后為動物編寫映射文件。

或者只是使用XSLT來轉換您的數據。 這樣的事情可能會起作用:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="animal">
  <xsl:text disable-output-escaping="yes"><![CDATA[<]]></xsl:text>
       <xsl:value-of select="@type" /><xsl:text disable-output-escaping="yes"> </xsl:text>name="<xsl:value-of select="@name" />"
  <xsl:text disable-output-escaping="yes"><![CDATA[/>]]></xsl:text>
</xsl:template>
</xsl:stylesheet>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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