首页 > 代码库 > xslt转换xml
xslt转换xml
实现json--> xml --(xlst)--> xml
pom依赖
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> <dependency> <groupId>xom</groupId> <artifactId>xom</artifactId> <version>1.2.5</version> </dependency>
转换规则xsl
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes" cdata-section-elements="title artist"/> <!-- match the document root --> <xsl:template match="/"> <package> <xsl:for-each select="o/package"> <title><xsl:value-of select="abstract"/></title> <artist><xsl:value-of select="source"/></artist> </xsl:for-each> </package> </xsl:template> </xsl:stylesheet>
java代码
package com.test.main; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.net.URISyntaxException; import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerException; import javax.xml.transform.TransformerFactory; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; import net.sf.json.JSONSerializer; import net.sf.json.xml.XMLSerializer; public class TestMain { public static void main(String[] args) throws IOException, URISyntaxException, TransformerException { // String jsonString ="{‘package‘:{‘abstract‘:‘<![CDATA[<Empire <>Burlesque>]]>‘,‘source‘:‘<![CDATA[Bob Dylan]]>‘}}"; String jsonString ="{‘package‘:{‘abstract‘:‘<<>>??<Empire <>Burlesque>‘,‘source‘:‘<![CDATA[Bob Dylan]]>‘}}"; XMLSerializer xmlSerializer = new XMLSerializer(); String str = xmlSerializer.write(JSONSerializer.toJSON(jsonString)); byte[] xml = str.getBytes(); File name = new File("D:\\tt\\xslt\\source_22.xml"); FileOutputStream os = new FileOutputStream(name); os.write(xml); TransformerFactory factory = TransformerFactory.newInstance(); Source xslt = new StreamSource(new File("D:/tt/xslt/modul_11.xslt")); Transformer transformer = factory.newTransformer(xslt); Source text = new StreamSource(name); transformer.transform(text, new StreamResult(new File("D:/tt/xslt/result/output_11.xml"))); } }
xslt转换xml
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。