获取child之前的父节点的字符串内容

时间:2015-02-07 22:02:27

标签: java xml dom

使用Java,我试图找出如何检索父节点的字符串,直到子节点的开头:

<para>This is a paragraph with a child <dmRef><dmRefIdent><dmCode att="somevalue"/></dmRefIdent></dmRef> and then some more text.</para>

我想在开始之前分析文本。

我使用node.getParent.getTextContent()检索了完整的字符串,其中node<dmRef>元素,但我正在寻找一种只获取<dmRef>元素之前的文本的方法(这是一个带有孩子的段落)。

1 个答案:

答案 0 :(得分:1)

使用XPath:

假设您在para元素节点的上下文中执行XPath:

选择第一个dmRef元素:

dmRef[1]

获取前面的兄弟文本节点:

dmRef[1]/preceding-sibling::text()

执行XPath将返回节点列表。您将不得不迭代它并从每个节点获取文本内容。如果您确定这里只有一个文本节点,您可以将ist转换为XPath中的字符串:

string(dmRef[1]/preceding-sibling::text())