`
will_lp
  • 浏览: 6873 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

解析xml文件

XML 
阅读更多
1.导入dom4j.jar;
2.主代码:
<1>查询xml文件的数据:
(1)public void parseXml() throws DocumentException {
SAXReader reader = new SAXReader();
Document doc = reader.read("src/person.xml");
Element root = doc.getRootElement();
Iterator<Object> it_person = root.elementIterator();
while (it_person.hasNext()) {
Element person = (Element) it_person.next();
Iterator<Object> it_child = person.elementIterator();
int i = 0;
String[] str = new String[3];
while (it_child.hasNext()) {
Element p_info = (Element) it_child.next();
str[i] = p_info.getText();
i++;
}
System.out.println(str[0]+ "的性别:" + str[1] +","+ str[0]+ "的年
龄:" + str[2]);
}
}
(2)List persons = root.elements();//root同于上面的root
for (Object person : persons) {
Element p = (Element) person;
Iterator<Element> it_child = p.elementIterator();
int i = 0;
String[] str = new String[3];
while (it_child.hasNext()) {
Element p_info = (Element) it_child.next();
str[i] = p_info.getText();
i++;
}
System.out.println(str[0] + "的性别:" + str[1] + "," + str[0] + "的
年龄:"+ str[2]);
}
}
(3)public void parseXml2() throws DocumentException {
SAXReader reader = new SAXReader();
Document doc = reader.read("src/person.xml");
doc.accept(new VisitorSupport() {
public void visit(Element e) {
System.out.println(e.getText());
}
});
}
<4>创建xml文件
public void createDoc() throws IOException {
Document doc=DocumentHelper.createDocument();
doc.setXMLEncoding("gbk");
Element lib=doc.addElement("libary");//创建根节点libary
Element book=lib.addElement("book");
Element book_name=book.addElement("name");
book_name.setText("大话西游");
Element book_author=book.addElement("auther");
book_author.setText("周星驰");
XMLWriter xw = new XMLWriter(new FileWriter("d:/lib.xml"));
xw.write(doc);
xw.close();

OutputFormat of=OutputFormat.createPrettyPrint();
of.setEncoding("gbk");
XMLWriter xw = new XMLWriter(new FileWriter("d:/lib.xml"),of);
xw.write(doc);
xw.close();
}
<5>向xml文件添加数据:
public void addElement(Element e) throws Exception {
SAXReader reader = new SAXReader();
Document doc = reader.read("src/person.xml");
Element root = doc.getRootElement();
Element person = root.addElement("person");
Element pname = person.addElement("name");
pname.setText("aonier");
Element psex = person.addElement("sex");
psex.setText("male");
Element page = person.addElement("age");
page.setText("37");

OutputFormat of = OutputFormat.createPrettyPrint();
of.setEncoding("gbk");
XMLWriter xw = new XMLWriter(new FileWriter("src/person.xml"), of);
xw.write(doc);
xw.close();
}
<6>修改xml文件
(1)public void updateElement() throws DocumentException {
SAXReader reader = new SAXReader();
final Document doc = reader.read("src/person.xml");
doc.accept(new VisitorSupport() {
public void visit(Element e) {
if (e.getName().equals("age")&&null!=e.getName()
&&!("".equals(e.getName()))) {
int i = Integer.parseInt(e.getTextTrim())* 2;
e.setText(String.valueOf(i));
}
try {
OutputFormat of = OutputFormat.createPrettyPrint();
of.setEncoding("gbk");
XMLWriter xw = new XMLWriter(new FileWriter(
"src/person.xml"), of);
xw.write(doc);
xw.close();
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
}
(2)导入jaxen-1.1.1.jar;
(3)public void updateElement2() throws DocumentException, IOException {
SAXReader reader = new SAXReader();
Document doc = reader.read("src/person.xml");
List<Object> ages = doc.selectNodes("/class/person/age");
for (Object age : ages) {
Element eage = (Element) age;
int age2 = Integer.parseInt(eage.getText());
if (age2 > 50) {
eage.setText(age2 * 2 + "");
}
}
OutputFormat of = OutputFormat.createPrettyPrint();
of.setEncoding("gbk");
XMLWriter xw = new XMLWriter(new FileWriter("src/person.xml"), of);
xw.write(doc);
xw.close();
}
(4)添加属性:
public void addAttribute() throws Exception{
SAXReader reader = new SAXReader();
Document doc = reader.read("src/person.xml");
List ages  = doc.selectNodes("/class/person/age");
for(Object a : ages){
Element age = (Element)a;
Date d = new Date();
d.setYear(d.getYear()- Integer.parseInt(age.getTextTrim()));
age.addAttribute("birth", d.toLocaleString());
}
OutputFormat of = OutputFormat.createPrettyPrint();
of.setEncoding("gbk");
XMLWriter xw = new XMLWriter(new FileWriter("src/person.xml"), of);
xw.write(doc);
xw.close();
}
分享到:
评论

相关推荐

    java解析XML文件

    java解析XML文件java解析XML文件java解析XML文件java解析XML文件java解析XML文件java解析XML文件

    SAX解析XML文件实例

    SAX解析XML文件的实例。一个项目同时用dom解析和sax解析xml文件貌似会报错,项目框架建一直是用sax和dom4j解析xml文件的。当我用dom解析xml文件。导入包后就报错识别不了xml文件的编码格式。于是做了一个sax解析xml...

    Dom4j解析XML文档.doc

    Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc Dom4j解析XML文档.doc

    python解析xml文件

    python解析xml文件,python语言解析xml文件的常用的有两种方式: 通过MiniDom库解析xml文件 通过ElementTree库解析xml文件

    C++解析xml文件

    C++实现对xml文件的解析,C++实现对xml文件的解析,C++实现对xml文件的解析。

    JAVA 解析XML生成XML文档实例

    JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML

    关于解析xml文件的,很有用的东东

    关于解析xml文件的,很有用的东东关于解析xml文件的,很有用的东东关于解析xml文件的,很有用的东东关于解析xml文件的,很有用的东东关于解析xml文件的,很有用的东东关于解析xml文件的,很有用的东东关于解析xml...

    MFC解析XML文档类

    MFC解析XML文档类 MFC解析XML文档类 MFC解析XML文档类 MFC解析XML文档类

    android 解析XML文件 生成XML文件

    支持SAX解析XML文件,DOM解析XML文件,Pull解析器解析XML文件,Pull生成XML文件,JAVA和Kotlin两种语言编写

    Sax解析XML文件解析

    Sax解析XML文件解

    使用javascript解析xml文件或xml格式字符串中文WORD版

    资源名称:使用Javascript解析xml文件或xml格式字符串 中文WORD版   内容简介: 本文档主要讲述的是使用Javascript解析xml文件或xml格式字符串;javascript中,不论是解析xml文件,...

    解析XML文档 实现树结构实例

    开发环境为VC,基于对话框,用msxml组件解析XML文档,运用递归循环的方法实现树结构,支持中文,可以运行的一个实例。

    解析XML文件例子

    解析XML文件例子

    PHP解析XML文档

    PHP解析XML文档,PHP解析XML文档,PHP解析XML文档

    tinyXMl解析XMl文件

    tinyxml解析XML文件

    Java中如何解析XML文件

    Java中如何解析XML文件,创建xml文件,增、删、改、查 xml节点信息

    pull解析xml文件

    pull解析xml文件

    jQuery 解析xml文件

    关于jq读取xml的,有需要的朋友可以下载。

    Sax解析xml文件

    Sax解析xml文件详细例子,解析复杂节点的xml,把内容显示到view中,例子简单完整,易用

Global site tag (gtag.js) - Google Analytics