「javaxml文件修改」js修改xml文件

博主:adminadmin 2023-01-19 08:06:06 386

今天给各位分享javaxml文件修改的知识,其中也会对js修改xml文件进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java修改XMl文件,请高手指点

楼主这个思路是没有什么问题的,存入map中可以方便整个项目使用,特别是针对那些项目中经常要读取的xml,可以使用xpath

public static void modifyXMLFile(String name,String value) {

String oldStr = "E:/Work/Proj/gfweb/src/configuration.xml";

String newStr = "E:/Work/Proj/gfweb/src/configuration.xml";

Document document = null;

try {

SAXReader saxReader = new SAXReader(); // 用来读取xml文档

saxReader.setEncoding("GBK");

document = saxReader.read(new File(oldStr)); // 读取xml文档

List list = document.selectNodes("/system/category/item");// 用xpath查找节点book的属性

Iterator iter = list.iterator();

while (iter.hasNext()) {

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

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

String itemname = element.attributeValue("name");

if(name.equals(itemname)){

element.setAttributeValue("value",value);

}

}

} catch (Exception e) {

e.printStackTrace();

}

try {

OutputFormat outFmt = OutputFormat.createPrettyPrint();

outFmt.setEncoding("GBK");

outFmt.setIndent(true);

XMLWriter writer = new XMLWriter(new FileWriter(new File(newStr)),outFmt);

writer.write(document);

writer.close();

} catch (Exception ex) {

ex.printStackTrace();

}

}

关于java修改xml的问题

public

static

void

writeDocumentToFile(Document

document,String

fileName){

XMLOutputter

outputter

=

new

XMLOutputter();

PrintWriter

out

=

null;

try{

out

=

new

PrintWriter(new

BufferedWriter(new

FileWriter(new

File(fileName))));

outputter.output(document,

out);

}

catch(

Exception

ex){

ex.printStackTrace();

}

finally{

try{

if(out

!=

null){

out.close();

}

}

catch(Exception

ex){

}

}

}

我写的方法

强调一点

XML不存在修改的意思

永远都是把所有的节点读进来

然后再将节点一起写回去

即使该

XML文件

不存在

而你在程序里写了

DOCUMENT对象

的话

也是可以写的

就跟普通的I/O流是一样的

不同的是

数据可以从其他XML里获得

也可以从程序里获得

java修改xml文件内容

?xml version="1.0" encoding="UTF-8"?

users

Messages

sendNamesendUsers/sendName

receiveNamesnake/receiveName

date2007-12-04 12:20:00/date

status0/status

messagethis is Content/message

/Messages

/users

java:

package com.lianxi.DAO;

import java.io.File;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.transform.Transformer;

import javax.xml.transform.TransformerFactory;

import javax.xml.transform.dom.DOMSource;

import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;

public class UpdateXml {

public static boolean doc2XmlFile(Document document,String filename)

{

boolean flag = true;

try

{

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

TransformerFactory tFactory = TransformerFactory.newInstance();

Transformer transformer = tFactory.newTransformer();

/** 编码 */

//transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");

DOMSource source = new DOMSource(document);

StreamResult result = new StreamResult(new File(filename));

transformer.transform(source, result);

}catch(Exception ex)

{

flag = false;

ex.printStackTrace();

}

return flag;

}

public static Document load(String filename)

{

Document document = null;

try

{

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder=factory.newDocumentBuilder();

document=builder.parse(new File(filename));

document.normalize();

}

catch (Exception ex){

ex.printStackTrace();

}

return document;

}

/**

* 演示修改文件的具体某个节点的值

*/

public static void xmlUpdateDemo()

{

Document document = load("c://Message.xml");

Node root=document.getDocumentElement();

/** 如果root有子元素 */

if(root.hasChildNodes())

{

/** ftpnodes */

NodeList ftpnodes = root.getChildNodes();

/** 循环取得ftp所有节点 */

for (int i=0;iftpnodes.getLength();i++)

{

NodeList ftplist = ftpnodes.item(i).getChildNodes();

for (int k=0;kftplist.getLength();k++)

{

Node subnode = ftplist.item(k);

/** 删除ftp-chn节点 */

// if (subnode.getNodeType()==Node.ELEMENT_NODEsubnode.getNodeName()=="ftp-chn")

// {

// ftpnodes.item(i).removeChild(subnode);

// }

/** 修改ftp-host的值为 192.168.0.1 */

if (subnode.getNodeType()==Node.ELEMENT_NODEsubnode.getNodeName()=="status")

{

subnode.getFirstChild().setNodeValue("1");

}

}

}

}

doc2XmlFile(document,"c://Message.xml");

}

public static void main(String args[])throws Exception

{

UpdateXml.xmlUpdateDemo();

}

}

javaxml文件修改的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于js修改xml文件、javaxml文件修改的信息别忘了在本站进行查找喔。