这里遇到了问题...如果我把XML文件放在服务器上,那么我可以通过steamReader读取它,转换为变量并让所有内容都在MSSQL数据库中运行。
但是,我需要通过html POST发送,但它不适用于以下代码:
page.Response.ContentType = "text/xml";
StreamReader reader = new StreamReader(page.Request.InputStream);
inputString = reader.ReadToEnd();
deleteShip(inputString);
在我看来,上面的代码没有从我的程序中获得那个POST的XML。因为对于deleteShip中的相同代码,如果我在服务器上使用xml,那么它可以正常工作。
有没有办法解决这个问题?只要我可以发送任何字符串到deleteShip(字符串s)然后我很高兴。该字符串将采用XML格式,但
感谢您的帮助!
答案 0 :(得分:0)
了解如何将XML发布到您的程序将会很有用。通常,使用POST方法时,数据将作为HTTP请求正文中的名称 - 值对从HTML表单发送。从您的问题中不清楚您是否使用HTML表单将XML发布到您的程序中,如果没有更多信息,很难说出可能出现的问题。
从您的代码中看起来您正在读取整个HTTP请求,您通常会读取请求参数的值,例如:
Request["XmlParameterName"]
其中XmlParameterName
是HTML表单输入字段的名称。
您是否检查了inputString
变量的值?它是有效的XML吗?编码是否正确?是否有像&符号(&)这样的无效字符正确转义?
如果我提到的任何事情都不是问题,请用更多信息更新您的问题。
答案 1 :(得分:0)
System.IO.Stream stream;
string inputString;
Int32 stringLength;
stream = Request.InputStream;
stringLength = Convert.ToInt32(stream.Length);
byte[] stringArray = new byte[stringLength];
inputString = System.Text.Encoding.ASCII.GetString(stringArray, 0, stringLength);
deleteShip(inputString);
通过它,它将从我的html请求(在本例中为XML)访问POST正文。