急!急!!!!大家帮帮忙忙。
<?xml version="1.0" encoding='UTF-8'?>
<ufinterface billtype="" filename="" isexchange="Y" proc="" receiver="" replace="Y" roottag="sendresult" sender="" successful="N">
<sendresult>
<billpk>
</billpk>
<bdocid>
</bdocid>
<filename>
</filename>
<resultcode>-31003</resultcode>
<resultdescription>从输入流转换document出错:请检验文档格式。\n</resultdescription>
<content></content>
</sendresult>
</ufinterface>
上面是通过StreamReader.ReadToEnd()写入xml或txt文件后所获得回执信息。
下面是我写的相关代码,哪位大虾帮帮忙忙指点一下(path:xml文件,url:为连接地址字符串):
HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
webrequest.Method = "POST";
webrequest.ContentType = "application/x-www-form-urlencoded";这里我试过"text/xml"
webrequest.ContentLength = 1000;
Stream requestStream = webrequest.GetRequestStream();
------
FileStream fs = new FileStream(path, System.IO.FileMode.Open, System.IO.FileAccess.Read);
byte[] filecontent = new byte[1000];
while (fs.Read(filecontent, 0, 1000) != 0)
{
requestStream.Write(filecontent, 0, 1000);
}
fs.Close();
fs.Dispose();
------这段总觉得有问题,但不能确定
HttpWebResponse webreponse = (HttpWebResponse)webrequest.GetResponse();
Stream mystream;
mystream = webreponse.GetResponseStream();
string sHtml = new StreamReader(mystream, System.Text.Encoding.UTF8).ReadToEnd();
StreamWriter swstream = new StreamWriter("c:\\1.txt", false, System.Text.Encoding.Default);
swstream.Write(sHtml);
swstream.Close();
<?xml version="1.0" encoding='UTF-8'?>
<ufinterface billtype="" filename="" isexchange="Y" proc="" receiver="" replace="Y" roottag="sendresult" sender="" successful="N">
<sendresult>
<billpk>
</billpk>
<bdocid>
</bdocid>
<filename>
</filename>
<resultcode>-31003</resultcode>
<resultdescription>从输入流转换document出错:请检验文档格式。\n</resultdescription>
<content></content>
</sendresult>
</ufinterface>
上面是通过StreamReader.ReadToEnd()写入xml或txt文件后所获得回执信息。
下面是我写的相关代码,哪位大虾帮帮忙忙指点一下(path:xml文件,url:为连接地址字符串):
HttpWebRequest webrequest = (HttpWebRequest)WebRequest.Create(url);
webrequest.Method = "POST";
webrequest.ContentType = "application/x-www-form-urlencoded";这里我试过"text/xml"
webrequest.ContentLength = 1000;
Stream requestStream = webrequest.GetRequestStream();
------
FileStream fs = new FileStream(path, System.IO.FileMode.Open, System.IO.FileAccess.Read);
byte[] filecontent = new byte[1000];
while (fs.Read(filecontent, 0, 1000) != 0)
{
requestStream.Write(filecontent, 0, 1000);
}
fs.Close();
fs.Dispose();
------这段总觉得有问题,但不能确定
HttpWebResponse webreponse = (HttpWebResponse)webrequest.GetResponse();
Stream mystream;
mystream = webreponse.GetResponseStream();
string sHtml = new StreamReader(mystream, System.Text.Encoding.UTF8).ReadToEnd();
StreamWriter swstream = new StreamWriter("c:\\1.txt", false, System.Text.Encoding.Default);
swstream.Write(sHtml);
swstream.Close();
你的具体需求是什么?读取这个节点的内容?<resultdescription>从输入流转换document出错:请检验文档格式。\n</resultdescription>
我不是为了读这个。我是将一个xml凭证post传出,那一段是出现问题的信息。
xmldoc.Load(path);//path为要上传的xml文件
string postData = HttpUtility.HtmlEncode(xmldoc.InnerXml);
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
reader.Close();
dataStream.Close();
response.Close();
StreamWriter swstream = new StreamWriter("c:\\1.txt", false, System.Text.Encoding.Default);
swstream.Write(responseFromServer); //将reader.ReadToEnd()返回信息写入1.txt文件中
swstream.Close();
通过上面的代码,执行后,在1.txt文件显示以下信息
<?xml version="1.0" encoding='UTF-8'?>
<ufinterface billtype="" filename="" isexchange="Y" proc="" receiver="" replace="Y" roottag="sendresult" sender="" successful="N">
<sendresult>
<billpk>
</billpk>
<bdocid>
</bdocid>
<filename>
</filename>
<resultcode>-31003</resultcode>
<resultdescription>从输入流转换document出错:请检验文档格式。\n</resultdescription>
<content></content>
</sendresult>
</ufinterface>
哪儿为高人指点一下。