关于Xpath

时间:2011-12-12 04:55:32

标签: xml xslt xpath

我有以下XML:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:axis="http://ws.apache.org/axis2">
   <soapenv:Header/>
   <soapenv:Body>
      <axis:ErrorQueueInput>
         <errorStr>JIRA Topic</errorStr>
         <InputMessage> <a>jira message</a><b>jira2 msg</b> </InputMessage>
      </axis:ErrorQueueInput>
   </soapenv:Body>
</soapenv:Envelope>

我需要输出为:

<a>jira message</a><b>jira2 msg</b>

如果我保持我的XPath;

//soapenv1:Envelope/soapenv1:Body/axis:ErrorQueueInput/InputMessage

输出类似于:

jira message jira2 msg

如果我这样做:

 //soapenv1:Envelope/soapenv1:Body/axis:ErrorQueueInput/InputMessage//child::*

输出(这是错误的):

 jira message

如何将整个XML(即:<a>jira message</a><b>jira2 msg</b>)作为输出?

1 个答案:

答案 0 :(得分:2)

用于评估xpath的任何内容都是将节点值强制转换为字符串。由于您没有说明目前正在做什么,我们无法告诉您哪里出了问题。

如果您正在使用XSL,可能在使用value-of时可能正在使用copy-of