1

这是我的SOAP message,我想获取soap:Body的子元素的名称:

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope/" xmlns:pref="URI_SOAP_WS">
   <soap:Body>
      <pref:book>
         <pref:author>Gambardella, Matthew</pref:author>
         <pref:title>XML Developer's Guide</pref:title>
         <pref:genre>Computer</pref:genre>
         <pref:price>44.95</pref:price>
         <pref:publish_date>2000-10-01</pref:publish_date>
         <pref:description>An in-depth look XML</pref:description>
      </pref:book>
   </soap:Body>
</soap:Envelope>

我怎样才能得到 的名字<pref:book>

我想在开关中用于比较。

4

1 回答 1

2

假设您想获取 的直接子元素的元素名称<soap:Body>,因此在这种情况下它表示一个字符串"pref:book",您可以尝试这种方式:

declare namespace soap = "http://www.w3.org/2003/05/soap-envelope/";
/soap:Envelope/soap:Body/*/name()

输出将是pref:book,完全符合需要。在这里使用 XPath 2.0 进行测试:http: //videlibri.sourceforge.net/cgi-bin/xidelcgi

于 2016-02-09T09:12:58.947 回答