Java dom4j获取,添加,删除,查找,设置Element属性方法
1.取得某节点下的某属性
Element root=document.getRootElement(); Attribute attribute=root.attribute("size");// 属性名name
2.取得属性的文字
// 也可以用 String text=attribute.getText(); // 这个是取得根节点下name字节点的属性firstname的值: String text2=root.element("name").attributeValue("firstname");
3.遍历某节点的所有属性
Element root=document.getRootElement(); for(Iterator it=root.attributeIterator();it.hasNext();){ Attribute attribute = (Attribute) it.next(); String text=attribute.getText(); System.out.println(text); }
4.设置某节点的属性和文字.
newMemberElm.addAttribute("name", "sitinspring");
5.设置属性的文字
Attribute attribute=root.attribute("name"); attribute.setText("sitinspring");
6.删除某属性
Attribute attribute=root.attribute("size");// 属性名name root.remove(attribute);
例子
public void modifyDoc() { try { Document doc = reader.read(new File("file/catalog.xml")); //修改属性内容 List list = doc.selectNodes("//article/@level"); Iterator<Attribute> iter = list.iterator(); while (iter.hasNext()) { Attribute attr = iter.next(); fail(attr.getName() + "#" + attr.getValue() + "#" + attr.getText()); if ("Intermediate".equals(attr.getValue())) { //修改属性值 attr.setValue("Introductory"); fail(attr.getName() + "#" + attr.getValue() + "#" + attr.getText()); } } list = doc.selectNodes("//article/@date"); iter = list.iterator(); while (iter.hasNext()) { Attribute attr = iter.next(); fail(attr.getName() + "#" + attr.getValue() + "#" + attr.getText()); if ("December-2001".equals(attr.getValue())) { //修改属性值 attr.setValue("December-2011"); fail(attr.getName() + "#" + attr.getValue() + "#" + attr.getText()); } } //写入到文件 /*XMLWriter output = new XMLWriter(new FileWriter(new File("file/catalog-modified.xml"))); output.write(doc); output.close();*/ } catch (DocumentException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } }
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。