XML
XML文件的操作
XML和JavaBean的相互转换
1.文件操作
1)创建一个空的XmlDoc
XmlDoc doc = new XmlDoc();
2)以外部传入的元素作为根元素
Element element = ...
XmlDoc doc = new XmlDoc(element);
3)以指定的外部文件或xml文本字符串创建Document
XmlDoc doc = new XmlDoc("conf/xmldoc_ut.xml",true);
String text = "<?xml version=1.0 encoding=UTF-8 ?>";
text = "<root><name>value</name></root>";
XmlDoc doc = new XmlDoc(text,false);
4)以外部传入的流创建Document
InputStream inputStream = ...
XmlDoc doc = new XmlDoc(inputStream);
2.对创建的文档进行读取,写入,修改,删除
1)基于元素和属性的操作方式
所有操作都是基于当前元素的操作,因此每次使用前都要先设置当前元素
//在根元素下操作
doc.setCurrentElement(doc.readRootElement());
//在第一个boot元素下各种操作
doc.setCurrentElement(doc.readFirstElement("book"));
这种方式一般用于遍历一个xml文档或从头创建一个新xml文档
2)基于Xpath的操作方式
//设置当前节点下的第二个booktype元素作为当前节点
doc.setCurrentNode(doc.readNode("booktype[2]"));
//修改当前节点下的所有book元素值
doc.modifyNodes("book","xpath");
Xpath一般用于对现有文档查询和修改
3.文档输出
1)输出文件
doc.exportDocument("d:/text.xml");
2)输出流
InputStream input = doc.exportDocument();
3)输出为文本字符串
String text = doc.exportText(false); //false表示没有缩进换行等格式
4.Xml和JavaBean的相互转换
封装了XmlUtil类,完成Xml和Java对象之间的相互转换
public static<T> String toXml(T t);
public static<T> T fromXml(String xml,Class<?>... classes);
String s = XmlUtil.toXml(list);
User user = XmlUtil.fromXml(xml);
JSON
json文件的操作
Json和Java对象的相互转换
1.文件操作
1)创建JsonDoc示例
创建时要决定输出方式,输出凡是有三种:文件,流,字符串
JsonDoc json = new JsonDoc("d:/test.json");
JsonDoc json = new JsonDoc(OutputStream);
JsonDoc json = new JsonDoc(StringWriter);
2)写入Json
根据Json结构,写入数组,对象或值
//1.开始
json.writeStartArray();
json.writeStartObject();
//1.1 开始
json.writeObjectFieldStart("1.1 name");
json.writeStringField("first","john");
json.writeStringField("last","pack");
//1.1 结束
json.writeEndObject();
//1.2 开始
json.writeStartOjbect();
json.writeStringField("1.1","xxxx");
json.writeNumberField("1.2",1.2f);
//1.2 结束
json.writeEndObject();
//2. 结束
json.writeEndArray();
//3.关闭JsonDoc
json.close();
2.Json与Java对象的相互转化
1)Map与Json
public static<V> String toJson(Map<String,V> map) ;
public static Map<String,Map<String,Object>> toMap(String json);
2)Bean与Json
public static<T> String toJson(T t);
public static<T> T toBean(String json,Class<T> clazz);
3)List与Json
public static<T> String toJson(List<T> list);
public static<T> List<T> toList(String json,Class<T> clazz);
JsonUtil.toJson(esJson,Employee.class);
TPdfReader: 读取模板中的可交互元素
TPdfWrite: 修改模板中的可交互元素
1.TPdfReader
取得可交互元素id列表
取得可交互元素值
取得可交互元素类型
以数组形式返回下拉列表或列表框中的候选项
1)实例化TPdfReader
TPdfReader reader = new TPdfReader("D:/PdfTep.pdf");
2)通过TPdfReader实例,调用方法
String value = reader.getAcroFieldValue("表单1");