java xml 乱码_Java写Xml文件中文乱码问题

这段代码展示了如何使用Java创建一个XML文件,并向其中添加元素。它首先创建了一个名为'学生花名册'的根元素,然后添加了一个学生元素,包含'姓名'和'年龄'两个子元素。最后,将XML文件保存到指定路径。
摘要由CSDN通过智能技术生成

1 importjava.io.File;2 importjava.io.FileOutputStream;3 importjava.io.OutputStreamWriter;4 importjava.io.Writer;5

6 importjavax.xml.parsers.DocumentBuilder;7 importjavax.xml.parsers.DocumentBuilderFactory;8 importjavax.xml.transform.OutputKeys;9 importjavax.xml.transform.Result;10 importjavax.xml.transform.Source;11 importjavax.xml.transform.Transformer;12 importjavax.xml.transform.TransformerConfigurationException;13 importjavax.xml.transform.TransformerException;14 importjavax.xml.transform.TransformerFactory;15 importjavax.xml.transform.dom.DOMSource;16 importjavax.xml.transform.stream.StreamResult;17

18 importorg.w3c.dom.Document;19 importorg.w3c.dom.Element;20 importorg.w3c.dom.Text;21

22 public classWriteXml {23 private voidwriteXMLFile(String xmlfile) {24 File file = new File("E:/tryfile/xml");25 file.listFiles();26 if(!file.exists()) {27 file.mkdirs();28 }29 DocumentBuilderFactory dbf =DocumentBuilderFactory.newInstance();30 DocumentBuilder dbuilder = null;31 try{32 dbuilder =dbf.newDocumentBuilder();33 }catch(Exception ex) {34 ex.printStackTrace();35 }36

37 Document doc =dbuilder.newDocument();38 Element root = doc.createElement("学生花名册");39 doc.appendChild(root);40

41 Element stu = doc.createElement("学生");42 stu.setAttribute("性别","男");43 root.appendChild(stu);44

45 Element stu_name = doc.createElement("姓名");46 stu.appendChild(stu_name);47 Text name_text = doc.createTextNode("罗文雯");48 stu_name.appendChild(name_text);49

50 Element stu_age = doc.createElement("年龄");51 stu.appendChild(stu_age);52 Text age_text = doc.createTextNode("25");53 stu_age.appendChild(age_text);54 try{55 FileOutputStream fos = new FileOutputStream(xmlfile + "/test.xml");56 OutputStreamWriter osw = new OutputStreamWriter(fos); //注意。。。

57 callDomWriter(doc, osw, "UTF-8");58 osw.close();59 fos.close();60 }catch(Exception ex) {61 ex.printStackTrace();62 }63 }64

65 private voidcallDomWriter(Document dom , Writer writer, String encoding) {66 try{67 Source source = newDOMSource(dom);68 Result res = newStreamResult(writer);69 Transformer xformer =TransformerFactory.newInstance().newTransformer();70 xformer.setOutputProperty(OutputKeys.ENCODING, encoding);71 xformer.transform(source, res);72 }catch(TransformerConfigurationException e) {73 e.printStackTrace();74 } catch(TransformerException e) {75 e.printStackTrace();76 }77 }78

79 public static voidmain(String []args) {80 WriteXml writeins = newWriteXml();81 String outfile = "E:/tryfile/xml";82 writeins.writeXMLFile(outfile);83 System.out.println("finished");84 }85 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值