导航:首页 > 编程语言 > javaxml转义类

javaxml转义类

发布时间:2023-04-01 07:15:25

『壹』 java中什么是转义字符,为什么要使用转义

就是在java中有特殊含义的字符(如:换行符,回车符,单引号,双引号),如果你要用它,必须在前面加一个前缀“\”如换行("\n")、回车("\r")、双引号("\"")、反斜杠("\\")等。

『贰』 用java实现 xml文件转实体类

使用XStream完成 java 类与 XML 互换。
下面代码实现了以下种基本功能:
1. object类型转换为xml类型,在控制台打印
2. xml类型转换为object类型,在控制台打印
3. 将object类型转换为xml类型,并写入XML文件
4. 读取XML文件,加载进相应Object类型
====================================================
1。加载 XStream 需要的jar包 xstream-1.4.2.jar
xpp3_min-1.1.4c.jar
xmlpull-1.1.3.1.jar

2。创建实体类User.java
package com.entity;
/**
* 实体类
*/
public class User {
private String userName;
private String password;
private String registeredTime;
public User() { }
public User(String userName, String passWord, String registeredTime) {
this.userName = userName;
this.passWord = passWord;
this.registeredTime = registeredTime;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassWord() {
return passWord;
}
public void setPassWord(String passWord) {
this.passWord = passWord;
}
public String getRegisteredTime() {
return registeredTime;
}
public void setRegisteredTime(String registeredTime) {
this.registeredTime = registeredTime;
}
}

3。编写功能实现类
package com.switcher;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.entity.User;
import com.thoughtworks.xstream.XStream;
/**
*
* 使用 XStream不用任何映射就能实现多数 Java 对象的序列化。
* 在生成的 XML中对象名变成了元素名,类中的字符串组成了 XML中的元素内容。
* 使用 XStream 序列化的类不需要实现 Serializable 接口。
* XStream 是一种序列化工具而不是数据绑定工具
* 不能从XML 或者 XML Schema Definition (XSD) 文件生成类。
*/
public class SwitchXML {
/*
* XStream 不关心序列化/逆序列化的类的字段的可见性。
* 序列化/逆序列化类的字段不需要 getter 和 setter 方法。
* 序列化/逆序列化的类不需要有默认构造函数。
*/
private XStream xStream = new XStream();
private String xmlPath = "D:/userdata.xml";
// 1. obj -> xml(object类型转换为xml类型)
public String printXML(User user) {
System.out.println("obj -> xml");
String xml = xStream.toXML(user);
System.out.println(xml);
return xml;
}
// 2. xml->obj(xml类型转换为object类型,并打印)
public void printObj(String xml) {
System.out.println("xml -> obj");
User u = (User) xStream.fromXML(xml);
System.out.println(u.getUserName() + " " + u.getPassWord() + " " + u.getRegisteredTime());
}
// 3. 将object类型转换为xml类型,并写入XML文件(其他格式也可以,比如txt文件)
public void writerXML(User user) {
try {
FileOutputStream fs = new FileOutputStream(xmlPath);
xStream.toXML(user, fs);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
// 4. 读取XML文件,加载进相应Object类型
public void readerXML() {
User user = new User();
FileInputStream fis = null;
try {
fis = new FileInputStream(xmlPath);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
xStream.fromXML(fis, user);
// 打印对象信息
System.out.println(user.toString());
// 打印对象的属性值
System.out.println(user.getUserName() + "-" + user.getPassWord() + "-"
+ user.getRegisteredTime());
}
public static void main(String[] args) {
// 用户名
String username = "admin";
// 密码
String password = "admin";
// 注册时间
Date now = new Date();
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
String registeredtime = format.format(now);
User user = new User(username, password, registeredtime);
SwitchXML switchXML = new SwitchXML();
// 1. object类型转换为xml类型,在控制台打印
String xml = switchXML.printXML(user);
System.out.println("---------------------");
// 2. xml类型转换为object类型,在控制台打印
switchXML.printObj(xml);
System.out.println("---------------------");
// 3. 将object类型转换为xml类型,并写入XML文件
switchXML.writerXML(user);
System.out.println("---------------------");
// 4. 读取XML文件,加载进相应Object类型
switchXML.readerXML();
}
}

『叁』 java写入xml转义问题(操作WORD2007)

java操作word2007,还有更简单的方法,就是用Office中间件。
不用再去理会复杂头疼的XML

『肆』 java如何还原xml中的转义字符

忽略来转义的工具类, org.apache.commons.lang.StringEscapeUtils,其中源unescapeJava(String s)方法是来处理java转义字符的,可以将字符串中的 “\”转换为 “\”,“'”转换为“'”等。通过这个方法处理以上字符串

public class Test(){ public static void main(String[] args) { String s = "\\u79fb\\u52a8\\u4e92\\u8054\\u7f51\\u5e94\\u7528"; String s2 = StringEscapeUtils.unescapeJava(s); System.out.println(s); System.out.println(s2); } }

输出结果: \u79fb\u52a8\u4e92\u8054\u7f51\u5e94\u7528移动互联网应用

『伍』 Java中object和xml互相转换

import java.beans.XMLDecoder;
import java.beans.XMLEncoder;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

public class Object2XML {

public static String object2XML(Object obj, String outFileName)
throws FileNotFoundException {
// 构造输出XML文件的字节输出流
File outFile = new File(outFileName);
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(outFile));
// 构造一个XML编码器
XMLEncoder xmlEncoder = new XMLEncoder(bos);
// 使用XML编码器写对象
xmlEncoder.writeObject(obj);
// 关闭编码器
xmlEncoder.close();

return outFile.getAbsolutePath();
}

public static Object xml2Object(String inFileName)
throws FileNotFoundException {
// 构造输入的XML文件的字节输入流
BufferedInputStream bis = new BufferedInputStream(
new FileInputStream(inFileName));
// 构造一个XML解码器
XMLDecoder xmlDecoder = new XMLDecoder(bis);
// 使用XML解码器读对象
Object obj = xmlDecoder.readObject();
// 关闭解码器
xmlDecoder.close();

return obj;
}
public static void main(String[] args) throws IOException {
// 构造一个StudentBean对象
StudentBean student = new StudentBean();
student.setName("wamgwu");
student.setGender("male");
student.setAge(15);
student.setPhone("55556666");

// 将StudentBean对象写到XML文件
String fileName = "AStudent.xml";
Object2XML.object2XML(student, fileName);
// 从XML文件读StudentBean对象
StudentBean aStudent = (StudentBean)Object2XML.xml2Object(fileName);
// 输出读到的对象
System.out.println(aStudent.toString());
}
}

『陆』 java 把“<"输出到xml文件---xml转义问题

xml转义字符替换:
public void escape_xml_with_straight_java () {
static final String ESCAPED_XML =
"<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>"
StringBuilder escapedXML = new StringBuilder();
for (int i = 0; i < XML_TO_ESCAPE.length(); i++) {
char c = XML_TO_ESCAPE.charAt(i);
switch (c) {
case '<':
escapedXML.append("<");
break;
case '>':
escapedXML.append(">");
break;
case '\"':
escapedXML.append(""");
break;
case '&':
escapedXML.append("&");
break;
case '\'':
escapedXML.append("'");
break;
default:
if (c > 0x7e) {
escapedXML.append("&#" + ((int) c) + ";");
} else
escapedXML.append(c);
}
}

assertEquals(ESCAPED_XML, escapedXML.toString());
}

总体思路就是遇到特殊字符,如"<",用"<"来替换就可以了。

『柒』 java解析第三方xml文件 文件中的特殊字符如何处理 文件不可改

一般的特殊字符都是需要转义的,请参阅xml特殊字符如何转义。

阅读全文

与javaxml转义类相关的资料

热点内容
可以提前看电影的网站推荐 浏览:420
李彩恩 饰 郑小姐 浏览:732
大娃二楞四猴是什么电影 浏览:811
越南自卫反击战争电影 浏览:524
sass编译工具 浏览:68
大香蕉娱乐 浏览:401
主角下地狱之后失去 浏览:435
bp神经网络文库 浏览:111
穿越到还珠格格的小说 浏览:339
日本的什么电影是一个女孩8岁带5个兄妹 浏览:965
人能听到狗说话的电影 浏览:984
同志电影《失恋学弟》 浏览:162
电脑文件被加密了 浏览:112
关于国共的电影 浏览:152
台湾恐怖丧尸前十名 浏览:136
空间之灵泉变美变媚变漂亮 浏览:146
猫和老鼠剧场版 浏览:990
蛇爱情的电影 浏览:875
泰剧好看电影 浏览:903
老挝电影 浏览:468

友情链接