如何在java里面更新xml文件的信息

如何在java里面更新xml文件的信息,第1张

你要喊扰怎么更新?

一种是读取文件内容,利用dom4j解析,更新指定节点的值然后转成String;

一种是读取文件内容,你郑圆旦自己利用字符串腔粗解析xml内容并更新值,

最后写到文件覆盖。

为了让你的解析器能够明白这些字符,你必须在XML文档中统一的字符编码标准。

--------------------------------------------------------------------------------

Windows 95/98 记事本

Windows 95/98 记事本不能以Unicode的编码格式保存文件。

可以使用记事本来编辑和保存包含了外文字符的XML文档 (比如:挪威语或者法语或者中文)

<?xml version="1.0"?>

<note>

<from>小奀</from>

<to>小林</to>

<message>晚上一起</message>

</note>

但是如果你用浏览器打开这个用记事本编辑过的XML文档,将会出现一个错误

--------------------------------------------------------------------------------

在Windows 95/98 记事本中使用编码

Windows 95/98 记毕乎事本编辑XML文件必须进行编码属性设置。

为了避免发生错误,可以在XML文档声明中加上一个encoding属性,指明此XML文档的编码类型,但是不要使用Unicode编码。

下面的编码类型不会导致错误手友悉,, 并且汉字显示正常:

<?xml version="1.0" encoding="gb2312"?>

下面的编码类型不会导致错误,, 并且汉字显示正常:

<?xml version="1.0" encoding="gbk"?>

下面的编码类型不会导致错误,, 并且汉字显示不正常(乱码):

<?xml version="1.0" encoding="windows-1252"?>

下面的编码类型不会导致错误,, 并且汉告备字显示不正常(乱码):

<?xml version="1.0" encoding="ISO-8859-1"?>

下面的编码类型不会导致错误,,并且汉字显示正常:

<?xml version="1.0" encoding="UTF-8"?>

下面的编码类型会导致错误,:

<?xml version="1.0" encoding="UTF-16"?>

--------------------------------------------------------------------------------

使用Windows 2000 记事本

Windows 2000 记事本可以以Unicode编码格式保存文件。

Windows 2000 的记事本支持Unicode字符集。如果使用Win2000的记事本以Unicode的编码格式保存XML文档(请注意这里在XML声明中没有编码信息):

<?xml version="1.0"?>

<note><from>小奀</from><to>小林</to><message>晚上一起去火锅呀</message></note>

--------------------------------------------------------------------------------

Windows 2000 记事本编码

Windows 2000记事本还可以以"UTF-16"编码格式保存文件。

如果你在XML文档中声明了编码属性而又以Unicode编码格式保存文件,将可能发生错误。

下面的代码将会导致错误:

<?xml version="1.0" encoding="windows-1252"?>

下面的代码将会导致错误:

<?xml version="1.0" encoding="ISO-8859-1"?>

下面的代码将会导致错误:

<?xml version="1.0" encoding="UTF-8"?>

下面这个文件 note_encode_utf16_u.xml, 将会在IE5.0+中显示正常,在网景Netscape 6.2浏览器中将会出现错误。

<?xml version="1.0" encoding="UTF-16"?>

--------------------------------------------------------------------------------

错误信息

当时用IE5.0或者更高版本浏览XML文档时,可能会遇到两中不同的编码错误:

在文本内容中发现一个非法字符(An invalid character was found in text content)。

如果你的XML文档和你的XML文档的编码格式不匹配就可能导致错误发生。通常情况是,XML文档包含一些“非英文”字符,并且使用了单字节编码的编辑器,而且没有在XML文档的声明中设置XML文档的编码格式。

不支持从当前的编码格式转换成另一种编码格式(Switch from current encoding to specified encoding not supported)。

如果XML文档以Unicode/UTF-16编码格式保存,但是XML文档的声明中却设置了编码格式是一些单字节的编码(比如 Windows-1252, ISO-8859-1 或者 UTF-8);或者XML文档以单字节编码格式保存,但是XML文档的声明中却设置了编码格式是一些Unicode/UTF-16的编码形式,这样两种情况都会导致错误发生。

文章来源于易贤网http://www.ynpxrz.com/n741034c2030.aspx


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12150823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存