修改网络上的xml文件,以下是我写的代码,将网络地址换成本地地址就可以实现对xml文件的修改,但是换成网络地址就不可以,求各位大神给个建议!!!拜托拜托,,
public boolean addResourceItem(String idStr,String titleStr,String keywordStr,String kindStr,
String describeStr,String dateStr,String urlStr,String authorStr,String publisherStr){
String path = StringUtil.RESOURCEXMLPATH;//得到资源检索文件的网络地址
System.out.println("PATH************"+path);
SAXReader reader = new SAXReader();
Document doc;
try {
doc = reader.read(path);//获得资源文件
System.out.println("XML*****************"+doc.asXML());
Element allresource = doc.getRootElement(); //得到根节点
System.out.println("ROOT*****"+allresource);
Element resourceitem=allresource.addElement("resourceitem");//创建resourceitem节点并将设置成allresource的子节点
//为resourceitem增加子节点
Element id=resourceitem.addElement("id");
Element title=resourceitem.addElement("title");//创建title节点并将设置成resourceitem的子节点
Element keyword=resourceitem.addElement("keyword");//同上
Element kind = resourceitem.addElement("kind");
Element describe = resourceitem.addElement("describe");
Element date = resourceitem.addElement("date");
Element url = resourceitem.addElement("url");
Element author = resourceitem.addElement("author");
Element publisher = resourceitem.addElement("publisher");
//Element id=name.addAttribute("id","2345");//为name节点设置属性id
//第三步:为相应的节点添加内容
id.setText(idStr);
title.setText(titleStr);//为name节点设置值"李兴华"<name>李兴华</name>
keyword.setText(keywordStr);//同上
kind.setText(kindStr);
describe.setText(describeStr);
date.setText(dateStr);
url.setText(urlStr);
author.setText(authorStr);
publisher.setText(publisherStr);
//第四步:建立dom4j的输出操作,在dom4j中输出操作是靠OutputFormat类来完成的
OutputFormat format=OutputFormat.createPrettyPrint();//创建一个输出操作format
format.setEncoding("GBK");//设置字符编码集
//设置路径中斜杠的问题
URL url0 = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url0.openConnection();
conn.setDoOutput(true);
//第五步:输出xml文档
XMLWriter writer= new XMLWriter(conn.getOutputStream(), format);
//创建文档输出对象writer并指定其输出流和format(格式)
writer.write(doc);//调用writer()方法进行输出
writer.flush();
writer.close();//关闭writer方法
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}catch (IOException e) {
// TODO: handle exception
e.printStackTrace();
return false;
}
return true;
}
运行结果是这样的:
可以读出文件,就是添加不进去,然后将路径换成本地路径就可以修改文件,这是为什么啊?!!该怎样修改呢?!拜托拜托。。。
------解决思路----------------------
修改网络上的xml?
你这个网络路径是url?
要是是的话 是没法修改的
------解决思路----------------------
这个是不行的。楼主死了这条心吧
------解决思路----------------------
如果网络地址上的文件可以随便修改的话,那太不安全了,我可以在你的服务器上随意地改写文件?你觉得安全吗?