Java如何从JDOM中的XML元素中删除属性?
下面的示例向您展示如何从XML元素中删除属性。我们将从元素中删除命名userid的属性<row>。要删除属性,可以调用对象的removeAttribute(Stringname)方法Element。
package org.nhooo.example.jdom; import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; import org.jdom2.output.Format; import org.jdom2.output.XMLOutputter; import java.io.File; public class JDOMRemoveAttribute { public static void main(String[] args) { SAXBuilder builder = new SAXBuilder(); try { // <?xml version="1.0" encoding="UTF-8"?> // <root> // <row userid="alice"> // <firstname>Alice</firstname> // <lastname>Starbuzz</lastname> // </row> // </root> Document doc = builder.build(new File("data.xml")); XMLOutputter out = new XMLOutputter(Format.getPrettyFormat()); out.output(doc, System.out); //获取根元素并找到一个名为row的子项并删除 //其属性名为“userid”"userid" Element root = doc.getRootElement(); root.getChild("row").removeAttribute("userid"); out.output(doc, System.out); } catch (Exception e) { e.printStackTrace(); } } }
该程序将以下结果输出到控制台:
<?xml version="1.0" encoding="UTF-8"?> <data> <row> <username>alice</username> <password>secret</password> </row> </data> <?xml version="1.0" encoding="UTF-8"?> <data> <row> <username>alice</username> <password>secret</password> </row> </data>
Maven依赖
<!-- https://search.maven.org/remotecontent?filepath=org/jdom/jdom2/2.0.6/jdom2-2.0.6.jar --> <dependency> <groupId>org.jdom</groupId> <artifactId>jdom2</artifactId> <version>2.0.6</version> </dependency>