从SOAP请求读取XML属性到WCF服务

时间:2012-02-28 17:09:55

标签: c# wcf soap

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

记住必要的使用陈述。