xpath给出一个空值的节点

时间:2013-10-21 05:16:58

标签: java xml xpath

我第一次使用XPath。当我试图从xml获取节点时,我得到一个具有空值的节点。

这里的xml文件看起来像..

<?xml version="1.0" encoding="UTF-8"?>
<Message>
<Header>
<FromCompany>Content</FromCompany>
<From>Source</From>
<FromEmail>eg@eg.com</FromEmail>
<Toy>Pocket</Toy>
<SentDate>20300709</SentDate>
</Header>

...

我写了xpath expr如下...

public XPath xPath =  XPathFactory.newInstance().newXPath();
Node message = (Node) xPath.evaluate("/Message", pxml, XPathConstants.NODE);
System.out.println("message::" + message);

当我执行消息时,节点不为空,而是打印数据为 message :: [Message:null]

我无法获取节点的内容..有人可以帮我找到我做错了吗?

1 个答案:

答案 0 :(得分:2)

在此上下文中,xPath将返回org.w3c.dom.Node,这是预期的(我希望)。

要获取节点的内容,您需要使用Node#getTextContent,使用您的示例输出... {/ p>

Content
Source
eg@eg.com
Pocket
20300709