xml如何在既有文字又有子节点的一个节点内找到特定文字?

zppandatheDec 2016-10-27 05:24:56
目前的xml大概是这样(这是个MPQA3.0的语料):

<?xml version='1.0' encoding='UTF-8'?>
<GateDocument>
<TextWithNodes>
<Node id="0" /> <Node id="2" />Amman -- <Node id="11" />Jordan<Node id="17" />,
</TextWithNodes>
</GateDocument>

在TextWithNodes这个节点内有一些Node节点,还有一些像“Amman”之类的文字,我现在知道node的id,比如11和17,要求把Jordan这个词或短语提取出来,要怎么做呢?
我是用java中的dom4j在处理,可以用xpath选到父节点,输出所有文字,或者选到子节点Node,但是因为它自己就闭合了所以选不到后续的文字,我试着用了following sibling也只能选到后续的node,不能选到文字。
求问大神们如何处理这个问题?

---------------------已解决
后来发现原来是没有弄清楚element和text节点的区别,如果只遍历element是不包含text的,所以没有选到文字节点。
...全文
182 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zppandatheDec 2016-10-31
  • 打赏
  • 举报
回复
以及有的时候虽然新建变量的类型选Node,但是还是会变成Element,原因没有深究。

50,530

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧