0

我是第一次使用 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);

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

我无法获取节点的内容。有人可以帮我找出我做错了什么吗?

4

1 回答 1

2

在这种情况下,xPath 将返回 a org.w3c.dom.Node,这是预期的(我希望)。

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

Content
Source
eg@eg.com
Pocket
20300709
于 2013-10-21T05:22:54.797 回答