對於一個項目我的工作,我需要一個XML文檔轉換爲JSON,但保持它的人類可讀的通過保持良好的對齊數據。雖然xml2json-xslt能夠創建JSON,但它的格式不是很好。
我的主要問題是它需要在XSLT 1.0中完成,而無需使用任何外部庫,JavaScript或其他任何東西。只是純粹的XSLT。雖然互聯網上有很多樣本,但我找不到能確保正確(可讀,可讀)格式的樣本。
它不需要通過轉換布爾值,數字,日期等來實現火箭科學。它只需要創建JSON,它將被另一個應用程序使用,但是當操作員查看數據時,他們需要縮進並很好地對齊的括號。轉換XML格式化的JSON
回答
我認爲你將不得不硬着頭皮調整xml2json,XSLT,直到它縮進你想要它。
見Converting XML to plain text - how should I ignore/handle whitespace in the XSLT?對於如何處理空白。
我不認爲這會是一個愉快的過程:(
最簡單的解決方案可能是通過JSON格式,其中似乎有許多可用的推xml2json.xslt的輸出 - 我沒有任何他們的經驗。
如果這樣的JSON格式化程序會作爲XSLT存在,或者我可以從XSLT調用它,那麼問題就解決了。但是這樣的格式化器還不存在。 – 2011-01-26 14:12:24
http://james.newtonking.com/pages/json-net.aspx
我只用這個庫的LINQ to JSON,它是超潔淨和方便。我讀的文檔中一些有關JSON轉換到.NET的飛行物體,我記得在那裏看到了類JSON爲XML ...檢查出來
通過超級乾淨/容易我的意思是從一個JSON字符串使用LINQ到JSON從一行代碼中獲取一個鍵值 – 2011-01-25 18:39:09
不是我在尋找的。我需要一個純粹的XSLT解決方案,因爲我可以調整的是一個XSLT文件。我絕對不能使用.NET代碼。 – 2011-01-26 14:11:22
根據我的經驗,XSLT是產生特別糟糕格式良好的輸出。
你能撐船過這個問題到你的運營商使用JSON觀衆?我的很多JSON交互開始http://jsonformatter.curiousconcept.com/ ...
萬一別人得到了相同的特殊要求(從生產縮進JSON「簡單」使用XSLT 1.0 XML),我創建了一個縮進版本的xml2json-xslt的要點是:https://gist.github.com/3977454
大家誰是細跟XSLT 2.0或誰已經「複雜」的XML,我建議一個不同的XSLT因爲xml2json,XSLT有一些缺點:它缺乏適當的屬性,裝卸,搬運的多個元素用相同的名稱等(在寫作時xml2json-XSLT的當前修訂版:31)。
在搜索「xml2json xslt」時(例如,可以在github上找到XSLT選項)。 https://github.com/bramstein/xsltjson)。缺點是它們中的大多數不支持縮進,但是這可以通過通過JSON格式器管道輸出來補償(參見例如,https://stackoverflow.com/a/5244011/490560)
- 1. 轉換XML到JSON格式
- 2. 轉換JSON格式爲XML格式
- 3. 將xml轉換爲json格式
- 4. 將RDF/XML格式轉換爲JSON
- 5. 格式不正確-XML至Json轉換
- 6. 簡化xml到json轉換
- 7. 將架構演化(SCD)JSON/XML轉換爲ORC/Parquet格式
- 8. 轉換XML格式
- 9. 轉換XML格式
- 10. 轉換JSON格式
- 11. 轉換JSON格式
- 12. XSD模式將XML數據轉換爲JSON格式的問題
- 13. 轉換格式化字符串(不是有效的JSON),以JSON
- 14. HTML格式轉換成JSON
- 15. 機器人 - 解析格式化字符串轉換成JSON數組的XML
- 16. 轉換序列化格式
- 17. JSON XML轉換問題 - 空格
- 18. 我如何將json轉換爲NiFi的soap xml格式
- 19. 如何將JSON對象轉換爲UTF-8格式的XML
- 20. 如何將給定格式的xml字符串轉換爲json?
- 21. 將xml轉換爲網格格式
- 22. 將Jayson的JSON格式化的字符串轉換爲JsonObject
- 23. 將格式A的XML從格式A轉換爲格式B的XML
- 24. 轉換的NSString適當的JSON格式
- 25. 的JavaScript/Json的轉換數據格式
- 26. 將ALTO XML轉換爲格式化的PDF/RTF/TXT?
- 27. 如何將格式化文本轉換爲C++中的XML
- 28. 格式化XML
- 29. XSLT轉換XML文檔的格式
- 30. 轉換爲正確的XML格式
Alex:你寫了*「它不需要做火箭 - 科學「*,是的,但JSON不映射XML。這就是爲什麼這個翻譯有幾個約定。我認爲你應該選擇其中之一。另外,「不錯的格式」並不清楚你的意思,以及這是一個有意義的問題。 – 2011-01-24 16:04:08
「不錯的格式」僅僅意味着人們可以閱讀它,因爲事物以適當的方式對齊。 XML節點可能會變得很深,從而導致JSON對象也變得很深。簡單,正確的縮進應該已經足夠了。 – 2011-01-26 14:08:04