作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 SOAP 消息(见下文)。
使用 Xpath,如何从此消息中提取命名空间的名称?换句话说,是否有一个 Xpath 例程会返回文本“validateNewOrder”?
任何建议或帮助将是无价的。我一直在到处寻找,但没有找到解决方案。它让我发疯......
谢谢!
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<ns1:validateNewOrder xmlns:ns1="http://sire.rabobank.nl/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<sireheader xmlns="http://sire.rabobank.nl/">
<sender>
<compid>TEST</compid>
</sender>
</sireheader>
<order xmlns="http://sire.rabobank.nl/">
<account>123456789</account>
</order>
</ns1:validateNewOrder>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
最佳答案
local-name(/*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[1])
Body
下第一个元素的本地名称以命名空间不可知的方式。
XDocument doc = XDocument.Load(@"XMLFile1.xml");
var xpath = "local-name(/*[local-name() = 'Envelope']/*[local-name() = 'Body']/*[1])";
var res = doc.Root.XPathEvaluate(xpath);
关于xml - 如何从 SOAP 消息中获取命名空间的名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2438527/
我是一名优秀的程序员,十分优秀!