正在从对WCF服务的SOAP请求中读取XML属性

本文关键字:请求 读取 XML 属性 SOAP WCF 服务 | 更新日期: 2023-09-27 18:26:07

我有一个MessageContract类,其属性设置为MessageBodyMember属性集。传入的soap请求有一个XML元素,看起来像这样:

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

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

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

我想读取的不是字符串"error",而是属性"num"的值。有办法做到这一点吗?

正在从对WCF服务的SOAP请求中读取XML属性

您可以使用此类构造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"answers"XDeclaration"。

记住必要的使用语句。