「java修改xml属性」修改xml文件内容
今天给各位分享java修改xml属性的知识,其中也会对修改xml文件内容进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java修改xml文件内容
- 2、java修改XMl文件,请高手指点
- 3、java 中修改 XML
- 4、在Java中怎么删除xml元素,和修改元素的属性和删除元素属性
- 5、JAVA设置XML根节点属性
- 6、java 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文件内容的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-12,除非注明,否则均为
原创文章,转载请注明出处。