加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml文件解析

发布时间:2020-12-16 02:00:36 所属栏目:百科 来源:网络整理
导读:xml文件解析 1.1 思路 1.1.1 使用jdom首先需要指定使用什么解析器 SAXBuilder builder=newSAXBuilder(false); 这表示使用的是默认的解析器 1.1.2 得到document,我们以后要进行的操作都是对这个document操作的 Document doc=builder.build(xmlpath); 1.1.3

xml文件解析

1.1 思路

1.1.1 使用jdom首先需要指定使用什么解析器

SAXBuilder builder=newSAXBuilder(false); 这表示使用的是默认的解析器

1.1.2 得到document,我们以后要进行的操作都是对这个document操作的

Document doc=builder.build(xmlpath);

1.1.3 得到根元素

Element books=doc.getRootElement();

1.1.4 得到元素(节点)的(集合)

1) 如果子节点只有一个。注意:使用这个方法括号中的标签必须要有

ElementmsgTypeElement = (Element)XPath.selectSingleNode(mddi,"//msgType");

2)如果子节点有多个。注意:使用这个方法,括号中的标签可有可没有。

Listbooklist=books.getChildren("book");

//当有多个相同节点的时候

或者:List provinceList = XPath.selectNodes(mddi,"//sys-config/provinces-info/province");

这表示得到“books”元素的所在名称为“book”的元素,并把这些元素都放到一个List集合中

1.1.5 循环list集合

for (Iterator iter =booklist.iterator(); iter.hasNext();) {
Elementbook = (Element) iter.next();
}

还有一种轮循方法是:

for(inti=0;I<booklist.size();I++){
Elementbook=(Element)booklist.get(i);
}

1.1.6 取得元素的属性:

Stringemail=book.getAttributeValue("email");

取得元素book的属性名为“email”的属性值。

1.1.7 取得元素的子元素(为最低层元素)的值:

Stringname=book.getChildTextTrim("name");

注意的是,必须确定book元素的名为“name”的子元素只有一个。

1.1.8改变元素(为最低层元素)的值:

book.getChild("name").setText("alterrjzjh");
这只是对Document的修改,并没有在实际的XML文档中进行修改

1.1.9 保存Document的修改到XML文件中:

XMLOutputter outputter=new XMLOutputter();

outputter.output(doc,newFileOutputStream(xmlpath));

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读