我遇到了一個需求,我需要根據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 3.0,將XML轉換爲JSON
- 2. 使用XSLT將XML轉換爲CSV
- 3. 使用XSLT將Transfrom轉換爲XML
- 4. 使用XSLT將XML轉換爲CSV
- 5. 使用XSLT將XML轉換爲HTML表
- 6. 使用XSLT(編號轉換)將XML轉換爲另一個XML
- 7. xslt將xml轉換爲html
- 8. 使用XSLT將嵌入式JSON轉換爲XML
- 9. 將XML轉換爲HTML並使用xslt將行交換爲列
- 10. JSON在XSLT XML轉換3.0
- 11. XSLT - 將XML轉換爲不同的XML
- 12. 定義XSLT以將XML轉換爲XML
- 13. 如何使用C#函數將XML轉換爲XSLT轉換
- 14. 將xml轉換爲肥皂請求使用xslt轉換mule
- 15. 使用Java將xml轉換爲json
- 16. 使用jackson將xml轉換爲json
- 17. 使用Perl將XML轉換爲JSON
- 18. 使用PHP將XML轉換爲JSON
- 19. 使用XSLT轉換RSSTV XML
- 20. 使用XSLT轉換XML
- 21. 使用XSLT轉換XML
- 22. Android:使用xslt轉換xml
- 23. 使XSLT爲XML到XML轉換簡單
- 24. XML轉換爲HTML使用XSLT
- 25. 將XML轉換爲JSON
- 26. Angular2:將XML轉換爲JSON
- 27. 使用XSLT將XML轉換爲CSV:如何排除XML版本?
- 28. 使用XSLT將XML轉換爲XML(刪除,添加,更改)
- 29. 使用XSLT將多級XML轉換爲平面XML
- 30. 使用XSLT將FGDC XML轉換爲ISO 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