使用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>
元素之前的文本的方法(这是一个带有孩子的段落)。
答案 0 :(得分:1)
使用XPath:
假设您在para
元素节点的上下文中执行XPath:
选择第一个dmRef
元素:
dmRef[1]
获取前面的兄弟文本节点:
dmRef[1]/preceding-sibling::text()
执行XPath将返回节点列表。您将不得不迭代它并从每个节点获取文本内容。如果您确定这里只有一个文本节点,您可以将ist转换为XPath中的字符串:
string(dmRef[1]/preceding-sibling::text())