`

java修改XML文件节点的属性输出文件问题

    博客分类:
  • java
阅读更多

输出文件时,属性的值没有发生改变

 

 

                       String src = request.getSession().getServletContext().getRealPath(
					"/");
			File file = new File(src + "xml/scene.xml");
			SAXReader sax = new SAXReader();
			Document document = sax.read(file);
			Element root = document.getRootElement();
			Element returnHome = root.element("returnHome");
			Element lightin = returnHome.element("lighting");
			System.out.println(lightin);
			boolean flag=false;
			for (Iterator it = lightin.elementIterator(); it.hasNext();) {
				Element element = (Element) it.next();
				System.out.println(element.attribute("value").getValue());
				System.out.println(element.attribute("status").getValue());
				if ("lighiting1".equals(element.attributeValue("value"))) {
					element.attribute("status").setValue("1");
					flag=true;
					continue;
				}
			}
			if (flag) {
				StringWriter writer = new StringWriter();
		        OutputFormat format = OutputFormat.createPrettyPrint(); 
		        format.setEncoding("utf-8");
		        XMLWriter xmlwriter = new XMLWriter(writer, format);
		        xmlwriter.write(document);  
		        writer.flush();
		        xmlwriter.flush();
		        writer.close();
		        xmlwriter.close();
			}
		} catch (DocumentException e) {
			e.printStackTrace();
		}

 作修改之后 的代码为:

 

try {
			String src = request.getSession().getServletContext().getRealPath(
					"/");
			String path=src + "xml/scene.xml";
			File file = new File(src + "xml/scene.xml");
			SAXReader sax = new SAXReader();
			Document document = sax.read(file);
			Element root = document.getRootElement();
			Element returnHome = root.element("returnHome");
			Element lightin = returnHome.element("lighting");
			System.out.println(lightin);
//			String[] lighting = request.getParameterValues("lighting");
//			String[] curtain = request.getParameterValues("curtain");
			boolean flag=false;
			for (Iterator it = lightin.elementIterator(); it.hasNext();) {
				Element element = (Element) it.next();
				System.out.println(element.attribute("value").getValue());
				System.out.println(element.attribute("status").getValue());
				if ("lighiting1".equals(element.attributeValue("value"))) {
					element.attribute("status").setValue("1");
					element.attribute("name").setValue("XXXXXXXXXXX");
					flag=true;
//					closeAction();
					continue;
				}
			}
			if (flag) {
				FileWriter writer = new FileWriter(path);
		        OutputFormat format = OutputFormat.createPrettyPrint(); 
		        format.setEncoding("utf-8");
		        XMLWriter xmlwriter = new XMLWriter(writer, format);
		        xmlwriter.write(document); 
		        writer.flush();
		        xmlwriter.flush();
		        writer.close();
		        xmlwriter.close();
//				 FileWriter out = new FileWriter(filename);
//				 document.write(out);
//				 out.flush();
//				 out.close();
			}
		} catch (DocumentException e) {
			e.printStackTrace();
		}

 

原因:

   在输入新文件的时候,应该指定文件的路径.

分享到:
评论

相关推荐

    Java中XML的解析与创建方法实例(题目见描述)

    2 读入XML文件bookA.xml,加入一条处理指令,修改第一本书的价格和作者,并添加一条属性,然后写入文件bookB.xml 3 解析abc.xml文档,读取所有属性和子节点并输出 4 解析parse.xml文档,创建方法新增节点、根据ID...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part2

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part3

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part4

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA上百实例源码以及开源项目

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    JAVA WEB 开发详解:XML+XSLT+SERVLET+JSP 深入剖析与实例应用.part5

    本书共分4部分,从xml、servlet、jsp和应用的角度向读者展示了java web开发中各种技术的应用,循序渐进地引导读者快速掌握java web开发。.  本书内容全面,涵盖了从事java web开发所应掌握的所有知识。在知识的讲解...

    JAVA上百实例源码以及开源项目源代码

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    xml入门教程/xml入门教程

    2.xml文件是由元素和元素的内容以及属性组成的,一个xml文件中只能有一个根元素,标签和标签的内容加在一起叫作一个元素。xml是大小写 敏感的,只能以字母或下划线开头。 字符转义 < 代表 ", > 代表 ">" , &...

    DWR.xml配置文件说明书(含源码)

    <creator id="new" class="uk.ltd.getahead.dwr.create.NewCreator"/>DWR已经将这配置到了内置的dwr.xml文件中,并不需要进行额外的配置. Creator通过调用类的默认的构造方法创建实例.应用new creator有以下几个优点:...

    XML实用大全----xml详细参考书

    3.1.3 将XML文件装入Web浏览器... 35 .2 考察简单的XML文档... 37 3.3 赋于XML标记以意义... 39 .4 为XML文档编写样式单... 40 .5 将样式单附加到XML文档上... 41 3.6 本章小结... 43 第4章 数据的结构化... ...

    Java语言基础下载

    三个 XML文件和一个属性文件 655 Web应用部署描述符 web.xml 655 ActionServlet的参数的配置 656 应用资源文件 658 Ant构建文件 659 配置Tiles框架 660 内容总结 661 独立实践 661 第三十三章:Struts标记库 662 ...

    Java开发实战1200例(第1卷).(清华出版.李钟尉.陈丹丹).part3

    实例245 读取XML文件属性 310 第3篇 窗体与控件应用 第11章 窗体设计 314 11.1 设置窗体位置 315 实例246 控制窗体加载时的位置 315 实例247 设置窗体在屏幕中的位置 315 实例248 从上次关闭位置启动窗体 316 实例...

    《javaScrip开发技术大全》源代码

    • sample07.htm 在同一个HTML文档中多次引用外部脚本文件 • sample08.htm 使用外部脚本文件和嵌入的JavaScript代码 • sample09.htm 边加载边解析的JavaScript代码 • sample10....

    JAVA面试题最全集

    一、Java基础知识 1.Java有那些基本数据类型,String是不是基本数据类型,他们有何区别。 2.字符串的操作: 写一个方法,实现字符串的反转,如:输入abc,输出cba 写一个方法,实现字符串的替换,如:输入...

Global site tag (gtag.js) - Google Analytics