我有一个MessageContract类,其属性设置了MessageBodyMember属性。 传入的soap请求有一个XML元素,如下所示:
<level num="3">error</level>
MessageContract内部错误级别的属性如下所示:
[MessageBodyMember(Name="level", Order = 6)]
public string ErrorLevel { get; set; }
而不是字符串'error',我想读取属性'num'的值。有没有办法做到这一点?
答案 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”。
记住必要的使用陈述。