Java dom4j如何获取,添加,删除,查找,设置Element属性呢?
下文讲述dom4j操作Element属性的方法分享,如下所示:
取得某节点下的某属性
Element root=document.getRootElement(); Attribute attribute=root.attribute("size");// 属性名name
取得属性的文字
String text=attribute.getText(); // 这个是取得根节点下name字节点的属性firstname的值: String text2=root.element("name").attributeValue("firstname");
遍历某节点的所有属性
Element root=document.getRootElement(); for(Iterator it=root.attributeIterator();it.hasNext();){ Attribute attribute = (Attribute) it.next(); String text=attribute.getText(); System.out.println(text); }
设置某节点的属性和文字
newMemberElm.addAttribute("name", "属性值");
设置属性的文字
Attribute attribute=root.attribute("name"); attribute.setText("属性值");
删除某属性
Attribute attribute=root.attribute("name");// 属性名name root.remove(attribute);例
public void modifyDoc() { try { Document doc = reader.read(new File("file/test.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("新属性值"); 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 ("我是属性值".equals(attr.getValue())) { //修改属性值 attr.setValue("新属性值"); fail(attr.getName() + "#" + attr.getValue() + "#" + attr.getText()); } } //写入到文件 /*XMLWriter output = new XMLWriter(new FileWriter(new File("file/test.xml"))); output.write(doc); output.close();*/ } catch (DocumentException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。