use*_*064 5 xml xslt xsd transform
如何将一个XSD的XML转换为另一种非常相似但具有不同XSD文件的XML格式?XSD非常大并且有许多复杂类型,但实际的XML看起来非常相似.
我有两个XSD文件和两个XML文件 - 它们都成功验证了其中一个XSD文件.我想将其中一个XML文件转换为另一个,以便我只能使用一个类进行进一步的操作.
我如何在.NET 4.0和c#4.0中执行此操作?我必须使用XSLT吗?如果我必须使用XSLT,我该怎么做?我不确定我是否期待创建一个XSLT文档.
使用AutoMapper将一个XML类转换为另一个XML类是一种噩梦.当我查看XML它是如此相似所以我认为可能有一个更简单的方法...
我肯定会使用 XSLT。如果 XML 非常相似,那么应该不会太困难。从身份转换开始,然后在需要更改时覆盖它。
以下示例仅将“foo”元素更改为“bar”元素:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<!--Identity Template. This will copy everything as-is.-->
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<!--Change "foo" element to "bar" element.-->
<xsl:template match="foo">
<bar>
<xsl:apply-templates select="@*|node()"/>
</bar>
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
资源:
http://www.jeniitennison.com/xslt/
http://www.mulberrytech.com/quickref/XSLT_1quickref-v2.pdf
http://www.mulberrytech.com/xsl/xsl-list/index.html#archive
此外,XSLT 的很大一部分是 XPath。如果您没有开发工具(我最喜欢的是oXygen,@DimitreNovatchev 有一个很棒的工具,称为XPath Visualizer。
| 归档时间: |
|
| 查看次数: |
13818 次 |
| 最近记录: |