dom4j操作xml时的乱码与格式化

解析技术3-dom4j解析xml文档 我们在前面已经已知Jaxp(sun公司),Jdom,dom4j,XStream这四个用来解析xml文档的开发包,并且对比了他们的各自特点。 dom4j更加常用,首先我们要下载对应的jar包,导入到工程里。 然后右键这个jar包,buildpath dom4j的官方网站或文档里写了详细的快速start方法,有简单的示例代码,不需要记忆,随查随用。 我们来简单测试一下: 一、读取 @Tes... 阅读详情
Dom4j是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。(Hibernate用此项目来解析hbm映射文件)


下面的 java代码演示如何写xml文件
  

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;

import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

/**
* @Copyright @ 2012 All right reserved
* @version 创建时间:Created on 2012-12-20
* @author 作者:Create by www.360buyli.com
* @Email: 360buyli@gmail.com
* @description 用于操作xml
*/

public class XmlUtil {
public void generateDocument() {
  Document document = DocumentHelper.createDocument();
  Element catalogElement = document.addElement("catalog");
  catalogElement.addComment("An XML Catalog");
  catalogElement.addProcessingInstruction("target", "text");
  Element journalElement = catalogElement.addElement("student");
  journalElement.addAttribute("stuName", "张三");
  Element clsElement=journalElement.addElement("class");
  clsElement.addAttribute("claName","电气一班");
  document.addDocType("catalog", null, "file://c:/Dtds/catalog.dtd");
  try {
     OutputFormat format = OutputFormat.createPrettyPrint();
        format.setEncoding("GB2312");
       XMLWriter output = new XMLWriter(new FileWriter(new File("c:/catalog.xml")),format);

   output.write(document);
   output.close();
  } catch (IOException e) {
   System.out.println(e.getMessage());
  }
}

public static void main(String[] argv) {
  XmlUtil dom4j = new XmlUtil();
  dom4j.generateDocument();
}

}

往往操作文件并不是实现本身,而是在操作文本是碰到的乱码问题。操作xml这样的文本文件同样会存在乱码问题。刚开始没有加红色加粗部分时,写出来的xml文件完全是没有格式化的,还是就是中文乱码。从类的命名,可以看出这个处理对输入的格式化。后面的设置编码也正好解决了乱码的问题

VS2019+CAXACAD2023二次开发教程(一、环境搭建) CAXACAD2023的二次开发相关文件和库都在的文件夹下。CAXACAD2023的默认开发环境是VS2019,如果是用VS2019的环境话,可以直接安装这个插件,安装好后就可以一键新建的项目,新建的项目会自动帮我们配置好所有的环境,并且生成必要的代码和初始的框架。(本来想用VS2022的,但配置环境太麻烦,用VS2022,增加一个环境变量是可以运行自带的例程的,但新建项目要配置的东西和环境太多,就放弃折腾了) 阅读详情

相关推荐

《供应链金融风控模型设计:多维度数据整合与动态风险预警机制》

注:方案突出供应链金融「三流合一」(资金流、物流、信息流)的风控逻辑,通过多维度数据整合与动态预警,解决传统风控中中小企业信用评估难、链条风险传导监测滞后的问题。◦ 构建供应链拓扑图,计算「核心企业违约对上下游企业的影响系数」(如某电子厂商违约时,其前五大供应商的风险权重自动提升40%)• 区块链应用:将核心企业应付账款上链存证,防止「一票多融」欺诈(如某供应商用同一应收账款在多家银行融资)◦ 财务数据:核心企业审计报告、上下游企业纳税数据(增值税发票频次/金额)

2501_91651383的博客 1549

dom4j创建格式化的XML文件

import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.UnsupportedEncodingException

只有不断地学习,不断地进步,才能感受到生活的快乐,意义。。。。 1万+

01 底盘制动产品之轮速传感器

轮速传感器是用来测量汽车车轮转速的传感器。对于现代汽车而言,轮速信息是必不可少的,汽车动态控制系统(VDC)、汽车电子稳定程序(ESP)、防抱死制动系统(ABS)、自动变速器的控制系统等都需要轮速信息。

汽车软件工程师 | 好奇博主 | 处女座 4656

SAXParseException: The encoding "GBK" is not supported --- 解决办法与分析

The encoding "GBK" is not supported --- 解决办法与分析     1.读取XML文件,获得document对象                                SAXReader reader = new SAXReader();

fonjames的专栏 1万+

HX720数据采集实战:从硬件连接到姿态解析(含避坑指南)

本文详细介绍了HX720高精度ADC芯片在数据采集与姿态解析项目中的实战应用。内容涵盖从硬件电路设计、驱动源码编写与优化,到原始数据处理、校准以及最终姿态角度计算的完整流程,并提供了关键的避坑指南和调试技巧,帮助开发者高效完成从传感器信号到可用姿态数据的转换。

i8j9k0l1的博客 487

HFSS实战(三)——过孔via TDR仿真

在上一讲中,主要是通过观察S参数确定via的优化是否达到目标。但S参数只能看到一个整体的结果,并不知道via真实的阻抗是多少?想要单独确定via的阻抗,最好还是通过TDR的仿真。

luohuo9844的博客 1万+

idea本地运行提示“.xml : Invalid encoding name “GBK“”

weblogic.jar的问题,本地开发测试使用tomcat,而在测试环境使用weblogic发布项目。此次解析xml报错正是因为weblogic中含有SAXReader相关的jar,本地使用的tomcat运行,项目直接使用了weblogic里的jar进行了xml的解析,因为weblogic里的jar不支持解析GBK编码格式的xml导致的。代码用saxReader.read解析的xml文件。解决办法,在tomcat里增加启动参数。

liu7v23的博客 436

hMailServer安装配置

hMailServer安装配置 使用宝塔面板上的宝塔邮件服务器2.1版本,进行安装hMailServer。 宝塔在安装hMailServer是有做了一些配置,如果是手工安装需要注意一下配置点: 1、\hMailServer\Bin 目录下增加mysql连接文件libmysql.dll,要去下载32位的。 libmysql.dll下载 链接:https://pan.baidu.com/s/1YGJXzjowlJ9n_MiqB4xiqw 提取码:wz90 2、 需要提前安装mysql,并创建hM.

王者的博客 5866

Java实现XML格式化

Java实现XML格式化工具类

阿甘兄 7499

人工智能在文学领域的应用:创作无限可能的智能作家

人工智能在文学领域的应用:创作无限可能的智能作家 作者:禅与计算机程序设计艺术 1. 背景介绍 人工智能技术近年来飞速发展,在各个领域都有广泛应用。文学创作作为人类最高级的智力活动之一,也逐渐受到人工智能技术的影响和改变。随着自然语言处理、生成式模型等人工智能

AI天才研究院 1110

GEE 案例:利用多源遥感数据计算RUSLE(Revised Universal Soil Loss Equation)土壤侵蚀

该数据集提供了全球范围内以250至500米的空间分辨率获取的多光谱图像数据,用于监测地表覆盖和变化。RUSLE模型的基本原理是通过考虑土壤侵蚀的主要驱动因素,来估计土壤侵蚀的速率。该数据集提供了全球范围内以10至60米的空间分辨率获取的多光谱图像数据,用于监测地表覆盖和变化。它对农业和土地资源管理者提供了一种评估和预测土壤侵蚀风险的工具,以制定适当的土壤保护措施和决策。2. soil(土壤)是来自OpenLandMap的土壤纹理分类数据,使用了USDA(美国农业部)土壤纹理分类系统。

此星光明博客 803

Dom4j保存数据乱码以及xml文件头编码格式改变的原因和解决方法

dom4j解析xml文档请参考:java解析xml的方式总结 dom4j对xml文档进行增删改查后都要将数据写回原文件,有时会出现乱码。 产生乱码原因:         此时,不管xml文档的编码格式是什么,读入内存的Document都是UTF-8格式的,如果不设定写回时的编码格式,将按照操作系统的编码格式(gb2312或gbk)写回文件。         如果 xml文档是UTF-8

我的博客 2908

对雷达中相位补偿概念的一些理解

基于多普勒相位补偿的速度扩展方法和DBF测角,两者本质上都是对相位进行补偿。

qq_42235129的博客 4030

dom4j中文教程 第一集 史上最全最实用的dom4j教程

dom4j中文教程  第一集 史上最全最实用的dom4j教程 http://www.u9vip.com/forum.php?mod=viewthread&tid=276&fromuid=1 (出处: U9社区) 注:该文章内所有代码为本人亲自编写,所有代码均已调通,请放心学习。 该教程总计两集    (出处: U9社区  http://www.u9vip.com/)  第一

WinnieBear 3632

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

XML 格式化转字符串

XML OutputStream 流转字符串 格式化输出 并解决乱码问题

这是一个爱吃火鸡味锅巴女孩的博客 2775

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

java+dom4j操作XML

package _test;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.OutputStreamWriter;import java.io.Writer;import java.util.Iterator;import java.util.List;import org.dom4

YYZhQ的专栏 2593

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

java xml 中文乱码_通过Java创建XML(中文乱码已解决)

package com.zyb.xml;import java.io.FileOutputStream;import java.io.OutputStream;import java.io.OutputStreamWriter;import java.io.Writer;import org.dom4j.Document;import org.dom4j.DocumentHelper;import...

weixin_35803480的博客 1566

dom4j操作XML

dom4j操作XML dom4j这个包里定义定义的接口: 看名字大致就知道它们的涵义如何了。 要想弄懂这套接口,关键的是要明白接口的继承关系: interface java.lang.Cloneable interface org.dom4j.Node interface org.dom4j.Attribute interface org.dom4j...

XY的专栏 460

“用dom4j解析包”对xml进行dom方式操作--ReadXML

package edu.dom4j.dom; import java.io.FileWriter; import java.io.IOException; import java.util.Iterator; import java.util.List; import org.dom4j.Attribute; import org.dom4j.Document; import o

ITSTAR 1074

Dom4j的asXML()自动编码的解决办法

在使用Dom4j的时候,有时候需要将一个Document对象转换为一个String,可以直接调用Document.asXML()方法来实现。可是调用这个方法的结果是:生成的字符串按照UTF-8进行了重新编码。这样,如果之前你的xml编码为GBK,那么你的调用此方法后,编码就变为UTF-8了,输出的中文字符就发生乱码。 有什么解决方案呢,在网上找了很久...

weixin_33729196的博客 365

Dom4j加强&Xpath技术&SAX解析

1、注意点: 1、xpath技术也可用在读取html文档上 2、123 2、OutputFormat对象 2.1创建对象 crateCompactFormat()紧凑的格式,去除空格换行,项目上线的时候 createPrettyPrint()漂亮的格式,有空格换行,开发调试的时候 2.2 setEncoding(“编码格式”) 设置输出的编码格式 同时影响了xml文档保存时的编码

LFSenior 3950

XML的写入_dom4j添加、删除、修改Xml文件内容

XML的写入_dom4j添加、删除、修改Xml文件内容 【工程截图】 【person.xml】准备一个xml文件 <?xml version="1.0" encoding="UTF-8"?> <students> <student id="88888" phone="15888888888" sex="男">

1082

Dom4j 解析 XML文件

/开始 [code="java"] package com.itheima.xml; import java.io.File; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOException; import java.util.Iterator; import java.util.List; import org.dom4j.Attribute;

路虽远行则将至,事虽难做则必成 129

java操作xml之dom4j的增删改查

注意,保存的时候一定要注意编码问题,你的xml文档的编码类型是什么就在format那里设置一样的,否则就会乱码的。XML测试文档:<?xml version="1.0" encoding="UTF-8"?><商店> <商品> <名称 name="hhhh">手机</名称> <价格>1290</价格> <数量>90部</数量> </商品> <商品>

飞翔射手座 665
上一篇: java zip打包与乱码的解决
下一篇: 通过java操作ftp
sr2012
博客等级 码龄14年 0粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值