发布到某个网址后,我收到以下回复:
<?xml version="1.0" encoding="utf-8" ?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>123</faultcode>
<faultstring>Lorem Ipsum</faultstring>
<detail>
<ns1:Service xmlns:ns1="http://www.bla.org/">
<messageId>321</messageId>
<text>Test Text</text>
<variables>19</variables>
<variables>20</variables>
</ns1:Service>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
我想解析它并使用值
我尝试将XmlString解析为以下类:
public class ClassXml
{
/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "http://schemas.xmlsoap.org/soap/envelope/", IsNullable = false)]
public partial class Envelope
{
private EnvelopeBody bodyField;
/// <remarks/>
public EnvelopeBody Body
{
get
{
return this.bodyField;
}
set
{
this.bodyField = value;
}
}
}
/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
public partial class EnvelopeBody
{
private EnvelopeBodyFault faultField;
/// <remarks/>
public EnvelopeBodyFault Fault
{
get
{
return this.faultField;
}
set
{
this.faultField = value;
}
}
}
/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://schemas.xmlsoap.org/soap/envelope/")]
public partial class EnvelopeBodyFault
{
private string faultcodeField;
private string faultstringField;
private detail detailField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Namespace = "")]
public string faultcode
{
get
{
return this.faultcodeField;
}
set
{
this.faultcodeField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Namespace = "")]
public string faultstring
{
get
{
return this.faultstringField;
}
set
{
this.faultstringField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Namespace = "")]
public detail detail
{
get
{
return this.detailField;
}
set
{
this.detailField = value;
}
}
}
/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
public partial class detail
{
private Service serviceField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Namespace = "http://www.bla.org/")]
public Service Service
{
get
{
return this.serviceField;
}
set
{
this.serviceField = value;
}
}
}
/// <remarks/>
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true, Namespace = "http://www.bla.org/")]
[System.Xml.Serialization.XmlRootAttribute(Namespace = "http://www.bla.org/", IsNullable = false)]
public partial class Service
{
private string messageIdField;
private string textField;
private ulong[] variablesField;
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Namespace = "")]
public string messageId
{
get
{
return this.messageIdField;
}
set
{
this.messageIdField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute(Namespace = "")]
public string text
{
get
{
return this.textField;
}
set
{
this.textField = value;
}
}
/// <remarks/>
[System.Xml.Serialization.XmlElementAttribute("variables", Namespace = "")]
public ulong[] variables
{
get
{
return this.variablesField;
}
set
{
this.variablesField = value;
}
}
}
}
但是我得到了错误:
Exception Occured while trying to parse XML String
<Envelope xmlns='http://schemas.xmlsoap.org/soap/envelope/'> was not expected.
显然我不能解析带有名称空间的XML,比如解析普通的XML
我如何解析这个并获取值?
任何帮助将不胜感激