-
XML转换指南!快速使用Aspose.PDF将XML转换为PDF!
2020-06-28 11:39:01用于ASP.NET API的Aspose.PDF广泛支持XML转换功能,因为根据API用户的要求,它包含许多相关的增强功能,可以使用将XML导出为PDF的高效功能来提升.NET应用程序。 在本文中,我们将使用C#将XML文件转换为PDF。考虑...用于ASP.NET API的Aspose.PDF广泛支持XML转换功能,因为根据API用户的要求,它包含许多相关的增强功能,可以使用将XML导出为PDF的高效功能来提升.NET应用程序。
在本文中,我们将使用C#将XML文件转换为PDF。考虑以下与使用C#进行XML转换有关的用例:
- 将XML转换为PDF
- 在XML中使用HTML并转换为PDF
- 将XML和XSLT转换为PDF
目前,.NET版Aspose.PDF升级到v20.6版,优化提取的页面丢失问题,修复PDF转换为HTML时的一些问题,感兴趣的朋友可点击下载最新版。(点击下载最新版)
将XML转换为PDF
要将XML转换为PDF,您需要遵循Aspose.PDF for .NET API的XML Schema,该XML Schema是XSD文件。以下是一个XML文件,我们将其转换为PDF,作为Hello World演示。
<?xml version="1.0" encoding="utf-8" ?> <Document xmlns="Aspose.Pdf"> <Page id="mainSection"> <HtmlFragment> <![CDATA[ <font style="font-family:Tahoma; font-size:40px;">This is Html String.</font> ]]> </HtmlFragment> </Page> </Document>
需要按照以下步骤将XML转换为PDF文件:
- 初始化 Document 类的对象
- 使用BindXml方法加载XML文件
- 保存转换后的PDF文件
以下代码段显示了如何在C#中将XML转换为PDF:
// Instantiate Document object Document doc = new Document(); // Bind source XML file doc.BindXml(dataDir + "XML.xml"); // Convert XML to PDF doc.Save(dataDir + "XMLToPDF.pdf");
在XML中使用HTML并转换为PDF
有时可能需要先将XML中的HTML转换为HTML。.NET API的Aspose.PDF也支持此功能。但是,HTML和XML标签非常相似。因此,需要指定CDATA标记,以便不将HTML解析为XML标记。下面的示例XML文件包括用CDATA表示的HTML,以避免出现任何异常:
<?xml version="1.0" encoding="utf-8" ?> <Document xmlns="Aspose.Pdf"> <Page id="mainPage"> <TextFragment> <TextSegment>Hello</TextSegment> </TextFragment> <TextFragment> <TextSegment>World!</TextSegment> </TextFragment> </Page> </Document>
通过以下步骤将此XML文件转换为PDF:
- 实例化 Document 类的对象
- 加载输入的XML文件
- 保存输出的PDF文件
下面的代码片段显示了如何在C#中将包含HTML的XML文件转换为PDF:
// Instantiate Document object Document doc = new Document(); // Bind source XML file doc.BindXml(dataDir + "XML.xml"); // Convert XML to PDF doc.Save(dataDir + "XMLToPDF.pdf");
将XML和XSLT转换为PDF
有时,可能已有一个包含重要应用程序数据的XML文件,并且想使用该XML文件生成PDF报告。在这种情况下,可以创建XSLT文件,以将现有XML文档转换为Aspose.PDF的兼容XML文档。然后,可以继续将XML转换为PDF。让我们通过简单而基本的示例来学习这一点:
<?xml version="1.0" encoding="utf-8" ?> <Contents> <Content>Hello World!</Content> </Contents>
<?xml version="1.0" encoding="utf-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="text()"/> <xsl:template match="/Contents"> <html> <Document xmlns="Aspose.Pdf" IsAutoHyphenated="false"> <PageInfo> <DefaultTextState Font = "Helvetica" FontSize="8" LineSpacing="4"/> <Margin Left="5cm" Right="5cm" Top="3cm" Bottom="15cm" /> </PageInfo> <Page id="mainSection"> <TextFragment> <TextSegment> <xsl:value-of select="Content"/> </TextSegment> </TextFragment> </Page> </Document> </html> </xsl:template> </xsl:stylesheet>
我们会注意到,该XML文件不遵循Aspose.PDF for .NET API的XML模式。但是,XSLT文件将其转换为所需的兼容性。现在,可以按照以下步骤使用XSLT将此类XML转换为PDF:
- 初始化PDF 文档
- 绑定 XML和XSLT文件
- 保存输出的PDF文档
下面的代码段基于以下步骤,这些步骤显示了如何在C#中将XML转换为PDF:
//Create pdf document Aspose.Pdf.Document pdf = new Aspose.Pdf.Document(); //Bind XML and XSLT files to the document try { pdf.BindXml(dataDir + "\\HelloWorld.xml", dataDir + "\\HelloWorld.xslt"); } catch (System.Exception) { throw; } //Save the document pdf.Save(dataDir + "HelloWorldUsingXmlAndXslt.pdf");
如果您有任何疑问或需求,请随时加入Aspose技术交流群(642018183),我们很高兴为您提供查询和咨询。
-
JSON转换成XML、XML转换成JSON
2016-08-26 17:10:37JSON转换成XML、XML转换成JSON这几天需要JSON与XML之间转换的工具类,网上搜了好多都不是自己需要的,于是自己编写了一个。
所需jar包地址:http://download.csdn.net/detail/yuxiangaaaaa/9613995
一、JSON转XML
(1)JSONbean 转换成XML
JSONbean方法:public class People { People(int id,String name){ this.id = id; this.name = name; } private int id; private String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
/** * JsonObject转换成xml * * @param json * @return */ public static String JsonBean2XmlString(JSONObject json){ System.out.println("JsonBean转换成xml:"); System.out.println("json:"+json); StringBuffer sb = new StringBuffer("<xml><p>"); for(Object key : json.keySet()){ sb.append("<").append(key).append(">"); Object value = json.get(key); //判断value是否含有JSONArray JSONObject jsonV = ((JSONObject)value); for(Object key2 : jsonV.keySet()){ sb.append("<").append(key2).append(">"); Object value2 = jsonV.get(key2); sb.append(value2); sb.append("</").append(key2).append(">"); } sb.append("</").append(key).append(">"); } sb.append("</p></xml>"); return sb.toString(); }
main测试:
测试输出结果:JSONObject json = new JSONObject(); People p = new People(9203,"xiaobao"); People p2 = new People(943,"xiaoxiao"); json.put("p1", p); json.put("p2", p2); System.out.println(JsonBean2XmlString(json));
JsonBean转换成xml: json:{"p1":{"id":9203,"name":"xiaobao"},"p2":{"id":943,"name":"xiaoxiao"}} <xml><p><p1><id>9203</id><name>xiaobao</name></p1><p2><id>943</id><name>xiaoxiao</name></p2></p></xml>
(2)多层嵌套的JSON转换如:{"p":{"p1":{"p2":{"id":2222,"name":"xiao2"}},"name":"xiao3"},"id2":"iii","name2":"ffff"}
/** * Json多层数据结构转换成xml * @param json * @return */ public static String Json2XmlString(String jsonStr){ System.out.println("json转换成xmlString:"); JSONObject json = JSONObject.fromObject(jsonStr); StringBuffer sb = new StringBuffer("<xml>"); for(Object key : json.keySet()){ sb.append("<").append(key).append(">"); Object value = json.get(key); sb.append(iteraorJson(value)); sb.append("</").append(key).append(">"); } sb.append("</xml>"); return sb.toString(); } /** * 迭代判断value是否还包含jSONObject * @param value * @return */ public static String iteraorJson(Object value){ StringBuffer sb = new StringBuffer(""); if((value.toString().contains(":"))){ JSONObject json = ((JSONObject)value); for(Object key : json.keySet()){ sb.append("<").append(key).append(">"); Object value2 = json.get(key); sb.append(iteraorJson(value2)); sb.append("</").append(key).append(">"); } }else{ sb.append(value); } return sb.toString(); }
测试:
结果输出:String jsonStr = "{\"p\":{\"p1\":{\"p2\":{\"id\":2222,\"name\":\"xiao2\"}},\"name\":\"xiao3\"},\"id2\":\"iii\",\"name2\":\"ffff\"}"; System.out.println("jsonStr:"+jsonStr); System.out.println(Json2XmlString(jsonStr));
jsonStr:{"p":{"p1":{"p2":{"id":2222,"name":"xiao2"}},"name":"xiao3"},"id2":"iii","name2":"ffff"} json转换成xmlString: <xml><p><p1><p2><id>2222</id><name>xiao2</name></p2></p1><name>xiao3</name></p><id2>iii</id2><name2>ffff</name2></xml>
XML转换成JSON,见下一篇http://blog.csdn.net/yuxiangaaaaa/article/details/52330221
-
Java类向XML转换、XML向Java类转换
2017-03-23 23:15:02Java类向XML转换、XML向Java类转换JAXBTools.java
package org.framework.web.util; import java.io.StringReader; import java.io.StringWriter; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; public class JAXBTools { /** * Java类向XML进行转换 * @param cls * @param obj * @throws JAXBException */ public static <T> String java2Xml(Class<T> cls,Object obj) throws JAXBException { JAXBContext jaxbContext = JAXBContext.newInstance(cls); Marshaller marshaller = jaxbContext.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); StringWriter writer = new StringWriter(); marshaller.marshal(obj, writer); return writer.toString(); } /** * XML向JAVA类转换 * @param cls * @param content * @return * @throws JAXBException */ public static <T> Object xml2Java(Class<T> cls,String content) throws JAXBException{ JAXBContext jaxbContext = JAXBContext.newInstance(cls); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); return unmarshaller.unmarshal(new StringReader(content)); } }
Customer.java
package org.framework.web.beans; import javax.xml.bind.annotation.XmlAttribute; import javax.xml.bind.annotation.XmlElement; import javax.xml.bind.annotation.XmlRootElement; @XmlRootElement(name="Customer") public class Customer { private Long id; private String name; private String password; public Customer() { super(); // TODO Auto-generated constructor stub } public Customer(Long id, String name, String password) { super(); this.id = id; this.name = name; this.password = password; } @XmlAttribute public Long getId() { return id; } public void setId(Long id) { this.id = id; } @XmlElement public String getName() { return name; } public void setName(String name) { this.name = name; } @XmlElement public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "Customer [id=" + id + ", name=" + name + ", password=" + password + "]"; } }
-
XML转换成JSON
2016-08-26 17:25:32JSON转换成XML、XML转换成JSON对于XML转换成JSON,已在网上找到工具类,测试符合需要,就没有自己写
XML字符串转换成JSON
所需jar包地址:http://download.csdn.net/detail/yuxiangaaaaa/9613995
测试:/** * xml string字符串转换成JSON * @param xmlStr * @return */ public static JSONObject xmlString2Json(String xmlStr){ System.out.println("xmlStr转换成json:"); JSONObject json = new JSONObject(); try { InputStream is = new ByteArrayInputStream(xmlStr.getBytes("utf-8")); SAXBuilder sb = new SAXBuilder(); Document doc = sb.build(is); Element root = doc.getRootElement(); json.put(root.getName(), iterateElement(root)); return json; } catch (Exception e) { e.printStackTrace(); return null; } }
测试结果:String xmlStr = "<xml><students><student><id>2122</id><name>named</name></student></students></xml>"; System.out.println(xmlString2Json(xmlStr));
xmlStr转换成json: {"xml":{"students":[{"student":[{"id":["2122"],"name":["named"]}]}]}}
读取FILE文件的XML内容转换成JSONproject src目录下创建test.xml
方法如下:<?xml version="1.0" encoding="UTF-8"?> <root> <classs> <id>001</id> <name>st001</name> <student> <id>0001</id> <name> <first>xue</first> <last>bo</last> </name> </student> </classs> </root>
测试:/** * 读取File文件xml转换成JSON * @param file * @return */ public static JSONObject xmlFile2Json(File file) { System.out.println("xmlFile转换成json:"); JSONObject json = new JSONObject(); try { SAXBuilder sb = new SAXBuilder(); Document doc = sb.build(file); Element root = doc.getRootElement(); json.put(root.getName(), iterateElement(root)); return json; } catch (Exception e) { e.printStackTrace(); return null; } } /** * 迭代 * @param element * @return */ @SuppressWarnings("unchecked") private static Map<String,Object> iterateElement(Element element) { List<Element> jiedian = element.getChildren(); Element et = null; Map<String,Object> obj = new HashMap<String,Object>(); List<Object> list = null; for (int i = 0; i < jiedian.size(); i++) { list = new LinkedList<Object>(); et = (Element) jiedian.get(i); if (et.getTextTrim().equals("")) { if (et.getChildren().size() == 0) continue; if (obj.containsKey(et.getName())) { list = (List<Object>) obj.get(et.getName()); } list.add(iterateElement(et)); obj.put(et.getName(), list); } else { if (obj.containsKey(et.getName())) { list = (List<Object>) obj.get(et.getName()); } list.add(et.getTextTrim()); obj.put(et.getName(), list); } } return obj; }
测试结果:File file = new File("src/test.xml"); System.out.println(xmlFile2Json(file));
xmlFile转换成json: {"root":{"classs":[{"id":["001"],"student":[{"id":["0001"],"name":[{"last":["bo"],"first":["xue"]}]}],"name":["st001"]}]}}
JSON转换成XML: JSON转换成XML、XML转换成JSON -
javabean生成xml.xml转换成javabean的工具类
2014-05-13 07:55:21javabean生成xml.xml转换成javabean的工具类 -
xml转换为List<T> 说明:xml转换为List()
2017-10-30 21:09:13xml转换为List<T> -
JAVA对象和XML转换
2019-05-15 09:06:05引包 javabena和xml转换(泛型) object对象转xml 使用的demo -
xml转换为JavaBean
2018-03-15 15:39:54* xml转换成JavaBean * * @param xml * @param c * @return */ @SuppressWarnings("unchecked") public static <T> T converyToJavaBean(String xml, Class<T>... -
JSON-XML转换工具
2017-04-07 15:19:05json-xml转换工具 -
word的xml 转换为 docx
2019-01-22 11:30:21word的xml 转换为 docx -
java&android解析xml 将xml转换为json
2018-08-31 16:28:36项目数据传输使用的xml,大多数项目都使用的是json,xml解析起来不是很方便,特别想做到将xml直接解析成javaBean,找了很多方法效果也都不是很好,最后的思路是将xml转换成json,再将json转换成javaBean。... -
XML转换成字符串格式
2017-03-19 11:10:40XML转换成字符串格式代码写懵逼了,突然不知道怎样把XML转换成字符串。百度一圈,大多是字符串转换成XML格式,这里把XML转换成字符串的方法写下来。//字符串转换成xml, $.parseXML var str='<xml><child>1</child>... -
webservice之使用jaxb把xml转换Object或把对象转换成xml文件
2018-05-07 11:07:32//使用jaxb把xml转换Object或把对象转换成xml文件public class Xml2Object { public static void main(String[] args) { //转换成对象// String xmlFile = "G:\\workspace\\jaxb\\src\\user.xml";//... -
java实现xml转换成json
2018-05-21 14:05:05网上比较流行的一种方式是使用XMLSerializer,一句代码实现xml转换成json。/** * xml转换成json * @param xml * @return */ public static String xmlToJson(String xml){ XMLSerializer xmlSerializer = new ... -
android如何将xml转换成对象
2020-06-27 23:04:45将xml转换成对象的方法有很多种。今天我要走一条“曲线”来实现这个转换。 1.思路 将xml转换成json,再通过将json转换成java对象。 2.添加java-json.jar包 java-json.jar将此包放入项目中。这个包实现了xml到json... -
xml转换成list,,对象转xml
2017-01-10 17:50:35xml转换成list方法 及 所需要的包 dom4j-1.6.1.jar 对象转xml方法,,,所需的包 stream-1.3.1.jar -
Python解析XML字符串(将XML转换成为dict类型)
2020-06-08 11:56:54Python解析XML字符串(将XML转换成为dict类型) import xml.sax import xml.sax.handler class XMLHandler(xml.sax.handler.ContentHandler): def __init__(self): self.buffer = "" self.mapping = {} def ... -
nmap输出xml转换htm方法
2019-11-29 09:57:45nmap输出xml转换htm方法 1、扫描命令 在开启防火墙状态下使用 Nmap工具的 SYN扫描策略-sS 加 UDP 扫描,并输出xml报告,命令如下: nmap -sS -sU -p 1-65535 -T4 -A -v -oX D:/report/test.xml “IP地址” 参数... -
如何将XML转换成java对象
2020-01-15 17:02:41如何将XML转换成java对象 /** * XML转成对象 * * @param * @param inputXML 需要转对象的XML * @param classes 包含的类类,对象里的自定义类,数组传入 * @return 返回对象 */ public static T toEntity(String ... -
xml转换byte-coding文件
2015-07-19 12:47:36怎么把xml转换成按S@T 01.00 v4.0.0 (Release 2009)与S@T 01.10 v4.0.0( _Release 2009)字节码文件 -
XML转换为XLS,很实用
2010-05-03 12:25:32把XML转换为XLS,已经破解。我已经测试了一段时间 -
java与xml转换 -- XStreamAlias
2018-06-28 18:00:00java与xml转换 -- XStreamAlias @XStreamAlias 1.特点 简化的API; 无映射文件; 高性能,低内存占用; 整洁的XML; 不需要修改对象;支持内部私有字段,不需要setter/getter方法 提供序列化接口; 自定义... -
XML转换成object,object转换成XML
2018-10-19 16:43:471.转换代码如下 package com.ihealthtek.jbagent.util; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import javax.xml.bind.Unmarshaller; ... -
CXML,XML 解析工具类(xml 转换bean,bean 转换xml)
2018-08-17 13:59:39这是小篇前段时间对第三方平台对接时,别人采用了CXML 格式进行对接,当时用了Xsteam,XmlMapper都不能将xml字符串解析成javabean,故给大家写下此篇,里面还有一个坑,就是JAXB 默认不解析xml字符串中的 &... -
XML转换为EXCEL
2020-04-03 18:57:25#! -*- coding: utf-8 -*- import xmltodict import pathlib import argparse import pandas as pd import json import sys ... xml文件转换为json Args: filepath: xml文件路径 Returns: ... -
关于利用xstl将xml转换成xml或html
2012-11-30 15:10:07最近项目上用到了xstl,看了几天小有收获。XSTL(extensiblestyling language transformation...以下是个小例子,将xml转换成需要格式的xml,代码如下: p1.xml 文件内容: lqx 20 2012-11-30 13:22:09.78 CST -
把xml转换成map
2010-09-02 14:22:00把xml转换成map -
JSON与XML转换jar包
2016-08-26 16:44:43JSON与XML之间互相转换开发jar包 -
JAXB Web Service java 代码转换成xml,xml 转换成java
2010-06-02 22:03:00import java.io.StringReader; import javax.xml.bind.JAXBContext;...import javax.xml.bind.Marshaller;...import javax.xml.bind.... * 将xml 转换成java 类 * 将java 类转换 成xml * @author East(张栋芳) -
dom4j将xml转换成对象
2015-08-03 23:29:09dom4j将xml转换成对象
-
MobileTouchCamera 1.9.unitypackage.zip
-
植物大战僵尸mod.zip
-
ffmpeg-windows.zip
-
Thinkpad-E440-Hackintosh-master.zip
-
veeam_backup_11_0_user_guide_vsphere.pdf
-
龙芯实训平台应用实战(希云)
-
CDH-5.9.0-1.cdh5.9.0.p0.23-el7.parcel.tar.gz.aa
-
python 京东预约抢购茅台脚本插件 一键运行
-
javaWeb三层框架.docx
-
python-random-quote:用Python编写的基于文件的报价机器人-源码
-
gif分解工具.zip
-
vue3从0到1-超详细
-
2.2019年海南鉴-人口(21-32).pdf
-
朱老师C++课程第3部分-3.6智能指针与STL查漏补缺
-
CCPP电力负荷预测数据.zip
-
工程制图 AutoCAD 2012 从二维到三维
-
leetcode题解 - 两数之和
-
李艾30场直播数据多维度,挖掘直播间快速转化技巧 | 知瓜数据数说大咖
-
pgyer-upload.gradle
-
PandaOCR(ocr文字识别软件)绿色单文件版V2.67.zip