2010-03-26 101 views

回答

1

看看XML serialization上的這個堆棧溢出問題,其中提到了一個沿着這些方向的項目。

+0

我認爲這更適合於創建對象的實例,而不是首先創建類。 – vickirk 2010-03-26 12:14:42

+0

是的,但它可能比從頭開始的代碼更容易擴展。 – 2010-03-26 13:20:27

0

不知道細節我的直接思想是可能使用xslt。例如如果你有這樣的事情(我欣賞

<element name="SomeEntity"> 
    <attribute name="someAttr" type="integer" /> 
    <complexType> 
    <sequence> 
     <element name="someOtherAttr" type="string" /> 
    </sequence> 
    </complexType> 
</entity> 

創建一堆模板來翻譯這個,例如

<xsl:template match="element"> 
    <xsl:apply-template select="." mode="header"/> 
    <xsl:apply-template select="." mode="impl"/> 
</xsl:template> 

<xsl:template match="element" mode="header"> 
class <xsl:value-of select="@name"/> { 
public: 
    <xsl:apply-template select="attribute" mode="header"/> 

    <xsl:apply-template select="complexType/element" mode="header"/> 
</xsl:template> 

... 

但如果上一代的邏輯是比較複雜的,我可能會往下走的路將xml導入到一個對象模型中,並以編程的方式處理該對象,可能使用Velocity等模板引擎,儘管xslt中的複雜邏輯可能是一種痛苦。