【问题标题】:XPath for text within an XML element? [duplicate]XML元素中文本的XPath? [复制]
【发布时间】:2018-03-18 12:41:17
【问题描述】:

我是 Web 服务响应处理技术的新手。我有下面的肥皂反应, 我想从中获取 UID 值。

<Envelope xmlns:SOAP-ENV = "" SOAP-ENV:encodingStyle = "">
   <Body xmlns:m = ""> 
     <CreateUser>
     <m:status>SUCCESS</m:status>
     <m:code>1</m:code>
     <m:uid>1234t</m:uid>
   </CreateUser>
   </Body> 
</Envelope>

我试过这个 xpath 遍历:

/Envelope/Body/CreateUser/m:uid

产生:

<m:uid>1234t</m:uid>

我只需要1234t

【问题讨论】:

  • 你得到的不正是你想要的吗?请澄清您的问题。
  • @AlexeyR.:这是选择元素与获取该元素(或其子文本节点)的字符串值之间的区别。 See below.

标签: xml xpath soapui


【解决方案1】:

如果

/Envelope/Body/CreateUser/m:uid

产量

<m:uid>1234t</m:uid>

然后

string(/Envelope/Body/CreateUser/m:uid)

/Envelope/Body/CreateUser/m:uid/text()

将产生

1234t

根据要求。

【讨论】:

  • 感谢您的回复。按照建议尝试,它返回空白值。
  • 那么/Envelope/Body/CreateUser/m:uid 没有像你说的那样返回&lt;m:uid&gt;1234t&lt;/m:uid&gt;,或者你不正确地调用了你的 XPath 库(我们不能对此发表评论,因为你没有显示它)。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-27
  • 1970-01-01
  • 1970-01-01
  • 2015-02-14
  • 1970-01-01
  • 2021-10-09
相关资源
最近更新 更多