Java文件中的中文字 怎么加到string.xml中

 我来答
hurrytttt
2011-03-30 · TA获得超过309个赞
知道答主
回答量:85
采纳率:0%
帮助的人:69.2万
展开全部
楼主看的懂1楼的写什么啊?好像是为了拿分而故意随便找点东西复制上去的,是不是应该举报他
在xml中加入中文字,首先,我不知道楼主是用什么来操作xml的?使用外包jdom还有dom4j还是运用java本身的类,我下面这个就是用dom4j写的
/**
287.
288. * 格式化XML文档,并解决中文问题
289.
290. * @param filename
291.
292. * @return
293.
294. */
295.
296. public int formatXMLFile(String filename){
297.
298. int returnValue = 0;
299.
300. try{
301.
302. SAXReader saxReader = new SAXReader();
303.
304. Document document = saxReader.read(new File(filename));
305.
306. XMLWriter output = null;
307.
308. /** 格式化输出,类型IE浏览一样 */
309.
310. OutputFormat format = OutputFormat.createPrettyPrint();
311.
312. /** 指定XML字符集编码 */
313.
314. format.setEncoding("GBK");
315.
316. output = new XMLWriter(new FileWriter(new File(filename)),format);
317.
318. output.write(document);
319.
320. output.close();
321.
322. /** 执行成功,需返回1 */
323.
324. returnValue = 1;
325.
326. }catch(Exception ex){
327.
328. ex.printStackTrace();
329.
330. }
331.
332. return returnValue;
333.
334. }

添加上这段代码就能够支持中文字了,下面是一个能支持对xml进行操作(添加,删除,修改)的程序,是利用dom4j的

package com.holen.dom4j;

import java.io.File;

import java.io.FileWriter;

import java.util.Iterator;

import java.util.List;

import org.dom4j.Attribute;

import org.dom4j.Document;

import org.dom4j.DocumentHelper;

import org.dom4j.Element;

import org.dom4j.io.OutputFormat;

import org.dom4j.io.SAXReader;

import org.dom4j.io.XMLWriter;

/**

* @author Holen Chen

*/

public class Dom4jDemo {

public Dom4jDemo() {

}

/**

* 建立一个XML文档,文档名由输入参数决定

* @param filename 需建立的文件名

* @return 返回操作结果, 0表失败, 1表成功

*/

public int createXMLFile(String filename){

/** 返回操作结果, 0表失败, 1表成功 */

int returnValue = 0;

/** 建立document对象 */

Document document = DocumentHelper.createDocument();

/** 建立XML文档的根books */

Element booksElement = document.addElement("books");

/** 加入一行注释 */

booksElement.addComment("This is a test for dom4j, holen, 2004.9.11");

/** 加入第一个book节点 */

Element bookElement = booksElement.addElement("book");

/** 加入show参数内容 */

bookElement.addAttribute("show","yes");

/** 加入title节点 */

Element titleElement = bookElement.addElement("title");

/** 为title设置内容 */

titleElement.setText("Dom4j Tutorials");

/** 类似的完成后两个book */

bookElement = booksElement.addElement("book");

bookElement.addAttribute("show","yes");

titleElement = bookElement.addElement("title");

titleElement.setText("Lucene Studing");

bookElement = booksElement.addElement("book");

bookElement.addAttribute("show","no");

titleElement = bookElement.addElement("title");

titleElement.setText("Lucene in Action");

/** 加入owner节点 */

Element ownerElement = booksElement.addElement("owner");

ownerElement.setText("O'Reilly");

try{

/** 将document中的内容写入文件中 */

XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)));

writer.write(document);

writer.close();

/** 执行成功,需返回1 */

returnValue = 1;

}catch(Exception ex){

ex.printStackTrace();

}

return returnValue;

}

/**

* 修改XML文件中内容,并另存为一个新文件

* 重点掌握dom4j中如何添加节点,修改节点,删除节点

* @param filename 修改对象文件

* @param newfilename 修改后另存为该文件

* @return 返回操作结果, 0表失败, 1表成功

*/

public int ModiXMLFile(String filename,String newfilename){

int returnValue = 0;

try{

SAXReader saxReader = new SAXReader();

Document document = saxReader.read(new File(filename));

/** 修改内容之一: 如果book节点中show参数的内容为yes,则修改成no */

/** 先用xpath查找对象 */

List list = document.selectNodes("/books/book/@show" );

Iterator iter = list.iterator();

while(iter.hasNext()){

Attribute attribute = (Attribute)iter.next();

if(attribute.getValue().equals("yes")){

attribute.setValue("no");

}

}

/**

* 修改内容之二: 把owner项内容改为Tshinghua

* 并在owner节点中加入date节点,date节点的内容为2004-09-11,还为date节点添加一个参数type

*/

list = document.selectNodes("/books/owner" );

iter = list.iterator();

if(iter.hasNext()){

Element ownerElement = (Element)iter.next();

ownerElement.setText("Tshinghua");

Element dateElement = ownerElement.addElement("date");

dateElement.setText("2004-09-11");

dateElement.addAttribute("type","Gregorian calendar");

}

/** 修改内容之三: 若title内容为Dom4j Tutorials,则删除该节点 */

list = document.selectNodes("/books/book");

iter = list.iterator();

while(iter.hasNext()){

Element bookElement = (Element)iter.next();

Iterator iterator = bookElement.elementIterator("title");

while(iterator.hasNext()){

Element titleElement=(Element)iterator.next();

if(titleElement.getText().equals("Dom4j Tutorials")){

bookElement.remove(titleElement);

}

}

}

try{

/** 将document中的内容写入文件中 */

XMLWriter writer = new XMLWriter(new FileWriter(new File(newfilename)));

writer.write(document);

writer.close();

/** 执行成功,需返回1 */

returnValue = 1;

}catch(Exception ex){

ex.printStackTrace();

}

}catch(Exception ex){

ex.printStackTrace();

}

return returnValue;

}

/**

* 格式化XML文档,并解决中文问题

* @param filename

* @return

*/

public int formatXMLFile(String filename){

int returnValue = 0;

try{

SAXReader saxReader = new SAXReader();

Document document = saxReader.read(new File(filename));

XMLWriter output = null;

/** 格式化输出,类型IE浏览一样 */

OutputFormat format = OutputFormat.createPrettyPrint();

/** 指定XML字符集编码 */

format.setEncoding("GBK");

output = new XMLWriter(new FileWriter(new File(filename)),format);

output.write(document);

output.close();

/** 执行成功,需返回1 */

returnValue = 1;

}catch(Exception ex){

ex.printStackTrace();

}

return returnValue;

}

public static void main(String[] args) {

Dom4jDemo temp = new Dom4jDemo();

System.out.println(temp.createXMLFile("d://holen.xml"));

System.out.println(temp.ModiXMLFile("d://holen.xml","d://holen2.xml"));

System.out.println(temp.formatXMLFile("d://holen2.xml"));

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式