У меня какая-то сложная XML структура данных. Структура содержит различные фрагменты, как в следующем примере:
<data>
<content-part-1>
<h1>Hello <strong>World</strong>. This is some text.</h1>
<h2>.....</h2>
</content-part1>
....
</data>
Интерес представляет тег h1 внутри тега «content-part-1». Я хочу получить полное содержимое тега xml 'h1'.
В java я использовал javax. xml .parsers.DocumentBuilder и попробовал что-то вроде этого:
String my_content="<h1>Hello <strong>World</strong>. This is some text.</h1>";
// parse h1 tag..
DocumentBuilder documentBuilder = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document doc = documentBuilder.parse(new InputSource(new StringReader(my_content)));
Node node = doc.importNode(doc.getDocumentElement(), true);
if (node != null && node.getNodeName().equals("h1")) {
return node.getTextContent();
}
Но метод getTextContent () вернет:
Hello World. This is some text.
Тег "strong" удаляется анализатором xml (так как это задокументированное поведение).
Мой вопрос заключается в том, как извлечь полное содержимое одного XML узла в пределах org.w3 c .dom.Document без дальнейшего анализа содержимого узла?