Вложенный XML-тег в Java
Теги могут вкладываться друг в друга. Тогда нужный узел ищут по имени среди потомков:
<root>
<block>
<caption>alpha</caption>
</block>
</root>
Сначала берут внешний элемент, затем внутренний по его имени:
import org.w3c.dom.Element;
import org.xml.sax.InputSource;
import javax.xml.parsers.DocumentBuilderFactory;
import java.io.StringReader;
public class Main {
public static void main(String[] args) throws Exception {
String xml = """
<root>
<block>
<caption>alpha</caption>
</block>
</root>
""";
var doc = DocumentBuilderFactory.newInstance()
.newDocumentBuilder()
.parse(new InputSource(new StringReader(xml)));
Element block = (Element) doc
.getElementsByTagName("block")
.item(0);
String caption = block
.getElementsByTagName("caption")
.item(0)
.getTextContent();
System.out.println(caption);
}
}
Дан следующий XML:
String xml = """
<root>
<tag1>
<tag2>
<tag3>
text
</tag3>
</tag2>
</tag1>
</root>
""";
Выведите в консоль текст самого внутреннего тега.