Согласно API на jdom.org , семантика getChild(String name)
:
Возвращает первый дочерний элемент в этом элементе с указанным локальным именем и принадлежностью.без пространства имен.Если для указанного имени и пространства имен нет элементов, возвращается нуль.
Поэтому, если у меня есть структура 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?
}