我遇到了一个需求,我需要根据XSLT将转移JSON数据转换为各种XML文档。 实际上,同样的json数据会传到不同的系统,并且他们有自己的对象结构(属性嵌套级别等)来存储它。我使用C#中的XslCompiledTransform()将Xml转换为Json;我使用XslCompiledTransform()现在看看是否有任何有效的方法将JSON转换为XML 使用XSLT?使用XSLT将JSON转换为XML
0
A
回答
1
我不认为这会奏效。 JSON不是基于XML的,因此您无法对其应用XSLT转换。 XML到JSON会起作用,但不能JSON到XML
编辑。我错了,看看这个:https://github.com/bramstein/xsltjson这个:How to convert json to xml using xslt
0
XSLT是一个XML文档切换到另一个XML文档,但是,JSON甚至不是一个XML类型的文件..
您可以编写一个简单的应用程序传输格式
0
撇开事实,XSLT是绝对不适合该工作的工具,这里是一个伪的方法如何,我会做,如果我曾经到:
- 在C#中创建一个扩展函数来完成真正的工作,即获取JSON字符串作为参数,返回一个通用的XPathNodeIterator XML块。
- 用XSLT正常处理返回最终的自定义转换格式。
的XSLT会再看看这样的事情(假设XSLT 1.0,因为在C#是):
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:util="urn:JsonUtility.Converter"
>
<!-- Supplied from environment -->
<xsl:param name="json" />
<xsl:template match="/">
<xsl:variable name="xml" select="util:JSON2XML($json)" />
<!-- Start processing the returned XML -->
<xsl:apply-templates select="$xml/json" />
</xsl:template>
<xsl:template match="key">
<!-- output -->
</xsl:template>
<xsl:template match="array">
<!-- output -->
</xsl:template>
<!-- etc. -->
</xsl:stylesheet>
(或者,如果你在C#扩展创建最终的格式,你可以只请在根目录模板中执行<xsl:copy-of select="$xml" />
)。
相关问题
- 1. 使用XSLT将此XML转换为JSON
- 2. 使用XSLT将XML转换为custanized JSON
- 3. 使用XSLT将xml转换为xml
- 4. 使用XSLT将XML转换为XML php
- 5. XSLT 3.0,将XML转换为JSON
- 6. 使用xslt将xml转换为html
- 7. 使用XSLT将XML转换为CSV
- 8. 使用XSLT将XML转换为HTML表
- 9. 使用XSLT将Transfrom转换为XML
- 10. 使用XSLT将XML转换为CSV
- 11. 使用XSLT将XML转换为HTML
- 12. Perl使用XSLT将XML转换为HTML
- 13. 使用XSLT(编号转换)将XML转换为另一个XML
- 14. xslt将xml转换为html
- 15. 将XML转换为XSLT
- 16. 将XML转换为表XSLT
- 17. 使用XML Schema将XML转换为JSON
- 18. 使用XSLT将XML转换为JSON的问题
- 19. 使用XSLT将嵌入式JSON转换为XML
- 20. 将XML转换为HTML并使用xslt将行交换为列
- 21. JSON在XSLT XML转换3.0
- 22. 通过XSLT将XML转换为XML
- 23. 定义XSLT以将XML转换为XML
- 24. 通过XSLT将xml转换为xml
- 25. 通过XSLT将XML转换为XML
- 26. XSLT - 将XML转换为不同的XML
- 27. 使用XSLT转换将XML转换为XSL
- 28. 将xml转换为肥皂请求使用xslt转换mule
- 29. 如何使用C#函数将XML转换为XSLT转换
- 30. 使用groovy将JSON转换为XML?
您的问题太宽了,我很害怕。另外,XSLT可能是一个相当差的选择,因为它意味着将XML文档转换为其他方式,而不是其他方式。如果您已经在C#中有工作解决方案,为什么您需要开始使用XSLT? – 2014-10-22 08:01:33
@MathiasMüller:实际上,有一种情况是相同的json数据发送到不同的系统,并且他们有自己的对象结构(属性嵌套级别等)来存储它。 – 2014-10-22 08:06:16
我认为我们需要更多的细节才能够帮助你。由于XSLT将xml文档作为输入,它不应该是您第一次将JSON转换为XML的调用。但是,如果您仍然需要,您可以使用虚拟XML文档(又名: 作为内容)输入到您的XSLT并使用XSLT函数:unparsed-text($ documentURI,$ encodage)来访问您的JSON。但是您仍然需要以原始字符串的形式访问JSON数据的内容。 –
2014-10-22 10:18:06