「java修改xml属性」修改xml文件内容

博主:adminadmin 2022-12-12 17:15:09 81

今天给各位分享java修改xml属性的知识,其中也会对修改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();

}

}

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

这个是相对应的,读取是BufferedReader,那么保存就是BufferedWriter,修改的话先用BufferedReader读取出来,修改后用BufferedWriter保存

在Java中怎么删除xml元素,和修改元素的属性和删除元素属性

和新增XML,没多大分别。。。。。。。删除时,拷贝,忽略不要的

~

~

~

JAVA设置XML根节点属性

在menu节点的时候增加一个属性,就成那个样子了。

而atest/a属于menu结点的子节点。

在Element menu = dom.createElement("menu");

menu.setAttribute("id", "value");

java xml节点添加修改属性

SAXReader reader = new SAXReader();

Document doc = reader.read(new FileInputStream("d.xml"));

Element root = doc.getRootElement();

ListElement list = root.selectNodes("//here");

for (Element e : list) {

System.out.println(e);

e.addAttribute("color", "q");

}

// 保存

XMLWriter writer = new XMLWriter(new FileWriter("output.xml"));

writer.write(doc);

writer.close();

关于java修改xml属性和修改xml文件内容的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-12,除非注明,否则均为首码项目网原创文章,转载请注明出处。