使用dom4j时,可以通过hasContent()
方法来判断一个元素是否有子节点。该方法返回一个布尔值,如果元素有子节点则返回true,否则返回false。
以下是一个示例代码:
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
public class Dom4jExample {
public static void main(String[] args) {
try {
// 创建一个SAXReader对象
SAXReader reader = new SAXReader();
// 读取XML文件
Document document = reader.read("example.xml");
// 获取根元素
Element root = document.getRootElement();
// 判断根元素是否有子节点
if (root.hasContent()) {
System.out.println("根元素有子节点");
} else {
System.out.println("根元素没有子节点");
}
// 获取第一个子元素
Element firstChild = root.element("child");
// 判断子元素是否有子节点
if (firstChild.hasContent()) {
System.out.println("子元素有子节点");
} else {
System.out.println("子元素没有子节点");
}
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
上述代码中,假设我们的XML文件名为"example.xml",根元素为<root>
,其中包含一个子元素<child>
。通过hasContent()
方法判断根元素和子元素是否有子节点,并打印结果。