- Java XML 教程
- Java XML 主页
- Java XML 概述
- Java XML 解析器
- Java DOM 解析器
- Java DOM 解析器
- 解析 XML 文档
- 查询 XML 文档
- 创建 XML 文档
- 修改 XML 文档
- Java SAX 解析器
- Java SAX 解析器
- 解析 XML 文档
- 查询 XML 文档
- 创建 XML 文档
- 修改 XML 文档
- JDOM XML 解析器
- JDOM XML 解析器
- 解析 XML 文档
- 查询 XML 文档
- 创建 XML 文档
- 修改 XML 文档
- Java StAX 解析器
- Java StAX 解析器
- 解析 XML 文档
- 查询 XML 文档
- 创建 XML 文档
- 修改 XML 文档
- Java XPath 解析器
- Java XPath 解析器
- 解析 XML 文档
- 查询 XML 文档
- 创建 XML 文档
- 修改 XML 文档
- Java DOM4J 解析器
- Java DOM4J 解析器
- 解析 XML 文档
- 查询 XML 文档
- 创建 XML 文档
- 修改 XML 文档
- Java XML 有用资源
- Java XML - 问题和解答
- Java XML - 快速指南
- Java XML - 有用资源
- Java XML - 讨论
Java JDOM Element detach() 方法
Java JDOM detach() 方法从 Element 类中分离元素,并返回分离的元素。当此方法与根元素一起使用时,将移除整个 XML 内容,因为所有元素都应包含在根元素内。
语法
以下是 Java JDOM Element detach() 方法的语法 −
Element.detach();
参数
Java detach() 方法不接受任何参数。
返回值
Java detach() 方法返回分离的 Element。
示例
以下是我们需要解析的 sample.xml 文件 −
<?xml version="1.0" encoding="UTF-8"?> <root> <child>I'm the child</child> </root>
以下基本示例使用 Java JDOM Element detach() 方法来移除子元素。
import java.io.File;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;
public class detachElement {
public static void main(String args[]) {
try {
//Reading the document
SAXBuilder saxBuilder = new SAXBuilder();
File inputFile = new File("sample.xml");
Document doc = saxBuilder.build(inputFile);
Element root = doc.getRootElement();
Element child = root.getChild("child");
//detach child element
child.detach();
//Print the document
XMLOutputter xmlOutput = new XMLOutputter();
xmlOutput.setFormat(Format.getPrettyFormat());
xmlOutput.output(doc, System.out);
} catch (Exception e) {
e.printStackTrace();
}
}
}
移除根元素后的文档将被显示。
<?xml version="1.0" encoding="UTF-8"?> <root />
示例 2
当 detach() 方法与根元素一起使用时,会移除根元素中包含的全部内容。只有根元素之外的注释、DocType 声明和处理指令仍然保留。
import java.io.File;
import org.jdom2.Document;
import org.jdom2.Element;
import org.jdom2.input.SAXBuilder;
import org.jdom2.output.Format;
import org.jdom2.output.XMLOutputter;
public class detachRootElement {
public static void main(String args[]) {
try {
//Reading the document
SAXBuilder saxBuilder = new SAXBuilder();
File inputFile = new File("sample.xml");
Document doc = saxBuilder.build(inputFile);
Element root = doc.getRootElement();
//detach root
root.detach();
//Print the document
XMLOutputter xmlOutput = new XMLOutputter();
xmlOutput.setFormat(Format.getPrettyFormat());
xmlOutput.output(doc, System.out);
} catch (Exception e) {
e.printStackTrace();
}
}
}
仅显示文档中保留的处理指令。
<?xml version="1.0" encoding="UTF-8"?>
广告