Java-dom4j解析XML文件-2

上一篇 / 下一篇  2013-03-11 09:28:06 / 个人分类:XML解析

8、修改节点属性

public static void modifyXMLFile() {

String ldStr = "c:/text.xml";

String newStr = "c:/text1.xml";

Document document = null;

//修改节点的属性

try {

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

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

List list = document.selectNodes("/books/book/@show");// xpath查找节点book的属性

Iterator iter = list.iterator();

while (iter.hasNext()) {

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

if (attribute.getValue().equals("yes"))

                      attribute.setValue("no");

}

} catch (Exception e) {

           e.printStackTrace();

}

//修改节点的内容

try {

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

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

List list = document.selectNodes("/books/book/title");// xpath查找节点book的内容

Iterator iter = list.iterator();

while (iter.hasNext()) {

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

element.setText("xxx");// 设置相应的内容

}

} catch (Exception e) {

             e.printStackTrace();

}

      //把结果写回新的文件中

try {

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

writer.write(document);

writer.close();

} catch (Exception ex) {

           ex.printStackTrace();

}

}                     

9、删除节点

public static void removeNode() {

String ldStr = "c:/text.xml";

String newStr = "c:/text1.xml";

Document document = null;

try {

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

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

List list = document.selectNodes("/books/book");// xpath查找对象

Iterator iter = list.iterator();

while (iter.hasNext()) {

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

// 创建迭代器,用来查找要删除的节点,迭代器相当于指针,指向book下所有的title节点

Iterator iterator = bookElement.elementIterator("title");

while (iterator.hasNext()) {

Element titleElement = (Element) iterator.next();

if (titleElement.getText().equals("ajax in action")) {

bookElement.remove(titleElement);

}

}

}

} catch (Exception e) {

e.printStackTrace();

}

try {

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

writer.write(document);

writer.close();

} catch (Exception ex) {

ex.printStackTrace();

}

}


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-04-29  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 2381
  • 日志数: 3
  • 建立时间: 2011-11-30
  • 更新时间: 2013-03-11

RSS订阅

Open Toolbar