根据jdom.org的 API ,语义getChild(String name)
:
这将返回此元素中具有给定本地名称且不属于任何命名空间的第一个子元素。如果指定名称和命名空间不存在任何元素,则返回 null。
因此,如果我有一个 XML 结构,例如:
<?xml version="1.0" encoding="UTF-8"?>
<lvl1>
<lvl2>
<lvl3/>
</lvl2>
</lvl1>
我有一个 JDOM 元素,它当前指向<lvl1>
. 我应该能够拨打以下电话:
Element lvl3 = lvl1Element.getChild("lvl3");
并且lvl3
应该具有非空值。
但是,我发现lvl3
实际上是这样null
。我错过了什么吗?
这是一个应该可以工作的示例代码片段:
import java.io.StringReader;
import org.jdom.*;
public static void main(String[] args){
Document doc = new SAXBuilder().build(new StringReader("path to file"));
Element lvl1Element = doc.getRootElement();
Element lvl3Element = lvl1Element.getChild("lvl3"); //is null. Why?
}