オブジェクトへのXMLをデシリアライズしようとしたとき、私は問題を抱えている、 私は、エラーメッセージエラーデシリアライズのXml - {<文字列のxmlnsは=「のhttp://tempuri.org/が」>期待されていなかった。}
に乗りました"There is an error in XML document (2, 2)."
のInnerExceptionで
: Error Deserializing Xml to Object - xmlns='' was not expected、xmlns=''> was not expected. - There is an error in XML document (2, 2) while DeserializeXml to object
まだありませんR:私はこれらのリンクでトライソリューションを持って
"<string xmlns='http://tempuri.org/'> was not expected."
私の問題をesolve ..ここ
が私のコードです:ここ
bulk_response result = ConvertXMLString.convertXMLStringToObject<bulk_response>(response);
は私のデシリアライズコードです:
public static T convertXMLStringToObject<T>(string input) where T : class
{
try
{
System.Xml.Serialization.XmlSerializer ser = new System.Xml.Serialization.XmlSerializer(typeof(T));
using (StringReader sr = new StringReader(input))
{
return (T)ser.Deserialize(sr);
sr.Close();
}
}
catch (Exception ex)
{
return null;
}
}
、ここでは、私のクラスである:ある
public class bulk_response
{
public string status_code { get; set; }
public string status_text { get; set; }
public string transaction_id { get; set; }
}
何私が見つけることができなかった問題?
更新: これは私がHTTP POSTレスポンスから取得したXMLです:
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/"><?xml version="1.0" encoding="utf-16"?>
<bulk_response xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<status_code>hansen</status_code>
<status_text>angie</status_text>
<transaction_id>ini testing aja</transaction_id>
</bulk_response></string>
、これは私がHTTPポストを介してデータを渡すと応答を取得する方法である:
HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create(destinationUrl);
// add the parameters as key valued pairs making
// sure they are URL encoded where needed
ASCIIEncoding encoding = new ASCIIEncoding();
byte[] postData = encoding.GetBytes(param);
httpReq.ContentType = "application/x-www-form-urlencoded";
httpReq.Method = "POST";
httpReq.ContentLength = postData.Length;
// convert the request to a steeam object and send it on its way
Stream ReqStrm = httpReq.GetRequestStream();
ReqStrm.Write(postData, 0, postData.Length);
ReqStrm.Close();
// get the response from the web server and
// read it all back into a string variable
HttpWebResponse httpResp = (HttpWebResponse)httpReq.GetResponse();
StreamReader respStrm = new StreamReader(
httpResp.GetResponseStream());
string result = respStrm.ReadToEnd();
httpResp.Close();
respStrm.Close();
return result;
XML文書はどのようなものですか? –
これはhttpの投稿応答から得られるXMLです:<?xml version = "1.0" encoding = "utf-8"?><?xml version = "1.0" encoding = "utf-16"?> ハンセン STATUS_CODE> アンジー INIテストAJA </TRANSACTION_ID> bulk_response> –
Hans
コメントに詳細を追加しないでください、しかし**編集*あなたの質問 –