c# - 从 SOAP 请求中读取 XML 属性到 WCF 服务

标签 c# wcf soap

我有一个 MessageContract 类,其属性设置了 MessageBodyMember 属性。 传入的 soap 请求有一个 XML 元素,如下所示:

<level num="3">error</level>

MessageContract 中错误级别的属性如下所示:

[MessageBodyMember(Name="level", Order = 6)]
public string ErrorLevel { get; set; }

我想读取属性“num”的值,而不是字符串“error”。有办法吗?

最佳答案

您可以使用此类构造一个 xml 类型: http://msdn.microsoft.com/en-us/library/system.xml.linq.xelement.aspx

代码是:

TextReader sr = new StringReader("<level num="3">error</level>");
XElement xml = XElement.Load(sr);

完成后,您可以像这样访问属性:

int Num = Int32.Parse(xml.Element("level").Attribute("num").Value);

如果您要创建完整的 xml 文档,则需要“XDocument”和“XDeclaration”。

记住必要的 using 语句。

关于c# - 从 SOAP 请求中读取 XML 属性到 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9486462/

相关文章:

wcf - IIS7 Post/Put/Patch/Delete WCF oData - 身份验证失败 401.3

python - Python (Django) 应用程序中的线程化 SOAP 请求?

soap - 基于 SOAP 的 Amazon S3 客户端

c# - 从包含可能重复项的列表中获取特定项目的索引

c# - C# 中 WCF 服务的裸 Json 响应

c# - 我计算智能手机位置的算法 - GPS 和传感器

c# - Service Stack 的 DTO 模式真的有用吗?

c# - 使用 C# 读取 Soap 消息

javascript - ASP.NET Core SPA 中基于 JWT 的身份验证 - 前端验证

javascript - 使用 C# 在 Selenium 页面对象模型中不可能实现鼠标悬停