大家帮我看看这段操作XML的代码为何不稳定?

问题描述

我是个.NET程序员,但近来需要用java来操作XML,因为软件的原因,不能使用dom4j,只能使用dom,我从网上找了些代码,大家看看为何我在每2秒钟运行时,发现3分钟后,系统就提示:java.io.FileNotFoundException:time.xml(请求的操作无法在使用用户映射区域打开的文件上执行。)atjava.io.FileOutputStream.open(NativeMethod)atjava.io.FileOutputStream.<init>(FileOutputStream.java:179)atjava.io.FileOutputStream.<init>(FileOutputStream.java:70)我的代码如下,请大家着重看数据保存时的代码:publicstaticStringgetsetTime(Stringxiangmu)throwsParserConfigurationException,SAXException,IOException,XPathExpressionException,TransformerException,FileNotFoundException{Stringxfile="myxml/time.xml";/*//只能类似于以下代码,其中传过来的参数xiangmu就是下面的id值,time项可以有多行<?xmlversion="1.0"encoding="UTF-8"?><root><timeid="lvguan"now="2009-04-1509:13:51"/></root>*/SimpleDateFormatdateformat=newSimpleDateFormat("yyyy-MM-ddhh:mm:ss");Stringxintime=dateformat.format(newDate());DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();XPathFactoryxpathFactory=XPathFactory.newInstance();XPathxpath=xpathFactory.newXPath();factory.setIgnoringElementContentWhitespace(true);DocumentBuilderdb=factory.newDocumentBuilder();Documentxmldoc=db.parse(newFile(xfile));xpathFactory=XPathFactory.newInstance();xpath=xpathFactory.newXPath();ElementtheBook=(Element)xpath.evaluate("/root/time[@id='"+xiangmu+"']",xmldoc,XPathConstants.NODE);Stringlaotime=theBook.getAttribute("now");theBook.setAttribute("now",xintime);//以下保存修改的XML文件TransformerFactorytransFactory=TransformerFactory.newInstance();Transformertransformer=transFactory.newTransformer();transformer.setOutputProperty("indent","yes");DOMSourcesource=newDOMSource();source.setNode(xmldoc);StreamResultresult=newStreamResult();FileOutputStreamfout=newFileOutputStream(xfile));result.setOutputStream(fout);fout.flush;transformer.transform(source,result);returnlaotime;}

谢谢了!

解决方案

解决方案二:
你看是不是time.xml的路径写错了。

时间: 2024-09-01 13:20:11

大家帮我看看这段操作XML的代码为何不稳定?的相关文章

JavaScript操作XML实例代码(获取新闻标题并分页,并分页)_javascript技巧

具体内容我没有做测试.仅供参考 代码 复制代码 代码如下: <?xml version="1.0" encoding="gb2312"?> <NEWS> <New id="1" name="测试新闻1" time="2010-2-18"> <NBody>新闻测试1新闻测试1</NBody> </New> <New id="

java操作XML实例代码_java

最近一直在做高效平台的框架,其实意识到我要做一个简单的框架的时候是在我已经做完我认为的一版界面之后,开始以为我要做的是一个可配置的首页展示,但是吭哧吭哧做了两个星期,大概功能实现了之后,才发现要做的不是这个,哎,需求不清楚害死人啊,但是这两个星期并没有白白浪费,也从中学到了很多东西,下面主要介绍读取XML.在做系统的时候,经常会遇到读取xml的需求,一开始是读取,于是我上网开始查询读取,接着查询删除,接着查询修改,当把这些代码查的差不多的时候,我发现,我为什么不把这些的操作都封装到一个类里,使用

java使用dom4j操作xml示例代码_java

dom4j是一个非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点,同时它也是一个开放源工具.可以在这个地址http://dom4j.sourceforge.net进行下载.这里我们使用到的dom4j是dom4j-1.6.1这个版本,我们只需要使用到如下两个jar包: 复制代码 代码如下: dom4j-1.6.1.jarcommons-io-2.4.jar 1.dom4j读取xml字符串 复制代码 代码如下: import org.dom4j.Document;imp

请帮看下这段发送Email的代码那里有问题

问题描述 publicboolSendEmail(stringfrom,stringto,stringsubject,stringbody){try{System.Net.Mail.MailMessagemsg=newSystem.Net.Mail.MailMessage();msg.From=newSystem.Net.Mail.MailAddress(from);msg.To.Add(to);msg.Subject=subject;msg.Body=body;msg.BodyEncoding

一个通过DataSet操作XML的类(原创)

xml|原创 这段时间写的项目每次都要用到XML保存一些配置,而每次操作XML都觉得挺麻烦,没有数据库那么顺手.后来发现用DataSet操作XML很方便,而且灵活性比较好,于是写了一个操作XML的类,用来应付一般的XML操作(源码下载附件). 1 基本思路 其实用DataSet操作XML,归根到底就是对DataSet里的表格,行,列等进行操作,然后用DataSet里的东西重新写到XML中,从而实现编辑XML的目的.如果再配合上.xsd文件的话,那效果更佳. 2 程序详解 (1) XML文件内容

用javascript操作xml

javascript|xml <script language="JavaScript"><!--var doc = new ActiveXObject("Msxml2.DOMDocument"); //ie5.5+,CreateObject("Microsoft.XMLDOM") //加载文档//doc.load("b.xml"); //创建文件头var p = doc.createProcessingIn

c#操作XML(读XML,写XML,更新,删除节点,与dataset结合等)

xml 我用的是一种很笨的方法,但可以帮助初学者了解访问XML节点的过程. 已知有一个XML文件(bookstore.xml)如下: Corets, Eva 5.95 1.插入节点 往节点中插入一个节点:  XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load("bookstore.xml"); XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找 XmlEleme

一个通过DataSet操作XML的类

xml 这段时间写的项目每次都要用到XML保存一些配置,而每次操作XML都觉得挺麻烦,没有数据库那么顺手.后来发现用DataSet操作XML很方便,而且灵活性比较好,于是写了一个操作XML的类,用来应付一般的XML操作(源码下载附件). 1 基本思路 其实用DataSet操作XML,归根到底就是对DataSet里的表格,行,列等进行操作,然后用DataSet里的东西重新写到XML中,从而实现编辑XML的目的.如果再配合上.xsd文件的话,那效果更佳. 2 程序详解 (1) XML文件内容 本类操

用java开发一个安卓客户端在线交流APP,是怎么实现添加好友的?求大神帮我看看这段代码。

问题描述 用java开发一个安卓客户端在线交流APP,是怎么实现添加好友的?求大神帮我看看这段代码. private void submit() { dialog = ProgressDialog.show(this, "提示", "处理中.."); new AsyncTask() { @Override protected String doInBackground(String... params) { String urlString = AppConstan