java


convert JSON to XML using XSLT 3 in java


When i was trying to transform JSON with XSLT to XML I am not able to transform, it is throwing the prolog exception, when i put the Json in tags i am able to transform. Can any one give an example how to transform from Json to XML with XSLT3.0.
Here's one example using json-to-xml(). It processes all json files in a specified directory (collection param).
I've also used json-doc() with uri-collection() and map:get() to process very simple json files.
JSON (File "so.json" based on the JSON in the question How to convert json to xml using xslt)
{"Order": {
"InvestmentAccount": {"AccountNumber": "10"},
"Parcel": {
"Limit": "0",
"ExpiryDate": "1900-01-01T00:00:00",
"Asset": [
{
"Open": "25.15",
"High": "25.15",
"Low": "25.11",
"Close": "25.87"
},
{
"Open": "25.15",
"High": "25.15",
"Low": "25.11",
"Close": "25.87"
}
]
},
"OrderDate": "2012-10-11T21:46:03.6489906+11:00"
}}
XSLT 3.0 (Tested using Saxon-HE 9.7.0.8J from the command line specifying init as the initial template.)
<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:map="http://www.w3.org/2005/xpath-functions/map"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs map">
<xsl:output indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:param name="collection" select="'file:///C:/some/dir'"/>
<xsl:template match="#*|node()">
<xsl:copy>
<xsl:apply-templates select="#*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template name="init">
<xsl:for-each select="uri-collection(concat($collection,'?select=*.json'))">
<xsl:variable name="uri" select="."/>
<xsl:variable name="filename" select="tokenize($uri,'/')[last()]"/>
<xsl:message>Processing json file: <xsl:value-of select="$filename"/>...</xsl:message>
<xsl:variable name="json" select="unparsed-text($uri)"/>
<xsl:result-document href="{substring-before($filename,'.')}.xml">
<xsl:apply-templates select="json-to-xml($json)"/>
</xsl:result-document>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
XML Output ("so.xml")
<map xmlns="http://www.w3.org/2005/xpath-functions">
<map key="Order">
<map key="InvestmentAccount">
<string key="AccountNumber">10</string>
</map>
<map key="Parcel">
<string key="Limit">0</string>
<string key="ExpiryDate">1900-01-01T00:00:00</string>
<array key="Asset">
<map>
<string key="Open">25.15</string>
<string key="High">25.15</string>
<string key="Low">25.11</string>
<string key="Close">25.87</string>
</map>
<map>
<string key="Open">25.15</string>
<string key="High">25.15</string>
<string key="Low">25.11</string>
<string key="Close">25.87</string>
</map>
</array>
</map>
<string key="OrderDate">2012-10-11T21:46:03.6489906+11:00</string>
</map>
</map>
Since I'm doing an xsl:apply-templates along with the identity transform, the XML from json-to-xml() is output unchanged. I can easily add templates to transform that XML into something else. (Be sure to pay attention to the http://www.w3.org/2005/xpath-functions default namespace.)

Related Links

Use custom supplied .jar files when building with gradle (not repository)? [duplicate]
Display images through aray in Android Studio
Reuse an stream in esper in several queries
How does a multi-threaded web server affect a Clojure program?
Silenium webdriver using Java: Exception in thread “main” org.openqa.selenium.ElementNotVisibleException:
How to apply side borders to table columns till footer
Java Create SOAP Consumer For Custom SOAP Envelop
is there any way where I can find out when was the last time a String/Integer was accessed in Java?
Must constructors of child classes mirror their parent's constructor exactly in java? [duplicate]
How to solve issue regarding youtube api in android app
How to change the order of IF statments based on a variable (from server)
Java how to calculate average of an arrayList that some elements removed randomly?
Twitter application-only authentication without using thirdParty libraries (JAVA)
Android - loadDataWithBaseURL
Save the selected radio button value and text field value into a file
Register different flows depending on Spring profile

Categories

HOME
log4j
jdo
vbscript
netsuite
amazon-ec2
isabelle
ngrx
iot
at-command
elm
upload
communication
handsontable
google-cloud-spanner
zend-framework3
dtrace
flask-wtforms
msp430
django-simple-history
flux
scichart
custom-wordpress-pages
reverse-proxy
cx-freeze
clickonce
cloudhub
icloud-api
ping
ecto
semantic-versioning
contact-form
siesta-swift
google-sites-2016
scorm2004
caret
uiswipegesturerecognizer
vxworks
xcode-extension
reportbuilder
broadcastreceiver
ncalc
grid.mvc
dynamic-reports
core-plot
vao
heightmap
http-redirect
flashair
multipeer-connectivity
veracode
crypt
arrow-keys
nbconvert
orthogonal
migradoc
sts-springsourcetoolsuite
url-masking
dstu2-fhir
asp.net-4.5
storekit
firebaseui
jwplayer7
lua-5.1
skype4py
fadeout
itextpdf
cannon.js
django-unittest
spidermonkey
vstest.console.exe
pretty-print
jsapi
facebook-graph-api-v2.4
tween
dd
phalanger
cctv
internet-connection
android-radiobutton
contenttype
funcunit
htmlcleaner
comexception
poller
seaside
oracle-warehouse-builder
typo3-neos
mcts
runtime.exec
jmapviewer
random-seed
spring-validator
ember-app-kit
flashvars
simba
funscript
armcc
nsdatecomponents
stage
hamachi
datareader
visitor-statistic
xsdobjectgen
multiple-languages
misv

Resources

Mobile Apps Dev
Database Users
javascript
java
csharp
php
android
MS Developer
developer works
python
ios
c
html
jquery
RDBMS discuss
Cloud Virtualization
Database Dev&Adm
javascript
java
csharp
php
python
android
jquery
ruby
ios
html
Mobile App
Mobile App
Mobile App