xml文件解析

前端之家收集整理的这篇文章主要介绍了xml文件解析前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

xml文件解析

1.1 思路

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

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

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

Document doc=builder.build(xmlpath);@H_403_8@

1.1.3 得到根元素

Element books=doc.getRootElement();@H_403_8@

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

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

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

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

Listbooklist=books.getChildren("book");@H_403_8@

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

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

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

1.1.5 循环list@H_403_8@集合

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

还有一种轮循方法是:@H_403_8@

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

1.1.6 取得元素的属性:@H_403_8@

Stringemail=book.getAttributeValue("email");@H_403_8@

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

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

Stringname=book.getChildTextTrim("name");@H_403_8@

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

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

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

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

XMLOutputter outputter=new XMLOutputter();@H_403_8@

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

原文链接:https://www.f2er.com/xml/293994.html

猜你在找的XML相关文章