微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

读写xml笔记

读写xml

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;

public class Testreadxml {

public static String getClasspath() {
return XmlParser. class .getClass().getResource( "/" ).toString();
}

public static void ff() {
File f2 = new File(XmlParser. class .getResource( "" ).getPath());
System. out .println(f2);
}

public static void main(String[] args) {
try {
SAXReader reader = new SAXReader();
String xmlPath = System.getProperty( "user.dir" ) + "\\src\\test\\java\\test.xml" ;
File file = new File(xmlPath);
if (file.exists()) {
Document document = reader.read(file);
Element root = document.getRootElement();
// 根据节点名获取节点
System. out .println(root.element( "login" ).getTextTrim());

// 遍历节点
for (Iteratori = root.elementIterator(); i.hasNext();) {
Element element = (Element) i.next();
System. out .println(element.asXML());
}

// 根据xpath根据节点名,节点属性查找指定的节点
System. out .println( "----------------------获取指定节点的值----------------------------------" );
List<Node> node1 =root.selectNodes( "//p[@id='hehe']" );
for (Node n : node1) {
System. out .println(n.getName());
System. out .println(n.getText());
}
System. out .println( "----------------------精确查找----------------------------------" );
// 精确查找
List<Node> node2 =root.selectNodes( "//div/p[@id='hi']" );
for (Node n : node2) {
System. out .println(n.getName());
System. out .println(n.getText());
}
//hhxml节点名
Element hh = root.element( "hh" );

System. out .println( "---------------------获取父节点的名字-----------------------" );
// 获取父节点
System. out .println(hh.getParent().getName());

// 设置节点的值
hh.setText( "21" );
System. out .println(hh.getText());

// 写入文件
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding( "utf-8" );
XMLWriter writer = new XMLWriter( new FileWriter(xmlPath),format);
writer.write(document);
writer.close();

/*
* //获取子节点 System.out.println(hh.getNodeType());
* System.out.println(hh.getData());
* System.out.println(hh.getName());
* System.out.println(hh.getText());
* System.out.println(hh.getTextTrim()); hh.setText("21");
* System.out.println(hh.getTextTrim());
*/
}
} catch (DocumentException e) {
} catch (IOException e) {
}
}

}
//参考网址:http://berdy.iteye.com/blog/807883
//

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。