我遇到了一個需求,我需要根據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