如何从 XML 模式生成 Objective C 类文件?
Posted
技术标签:
【中文标题】如何从 XML 模式生成 Objective C 类文件?【英文标题】:How to generate Objective C class files from XML schema? 【发布时间】:2010-03-26 12:03:42 【问题描述】:我有一个定义我的数据模型的 XML 模式。我现在想要从 XML 模式生成 Objective C 源文件。有谁知道如何做到这一点?
【问题讨论】:
【参考方案1】:查看XML serialization 上的 Stack Overflow 问题,其中提到了一个类似的项目。
【讨论】:
我认为这更适合创建对象的实例,而不是首先创建类。 是的,但它可能比从头开始编写代码更容易扩展。【参考方案2】:在不知道细节的情况下,我的直接想法可能是为此使用 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 很痛苦。
【讨论】:
以上是关于如何从 XML 模式生成 Objective C 类文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何从网站以 xml 格式获取数据并使用 Objective-c 解析该数据以执行操作
跨度字母不会将字母从 xml 分隔到 Objective C 中的字符串