0

这里有问题...如果我将 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(string s) 发送任何字符串,我就很高兴。该字符串将采用 XML 格式

谢谢您的帮助!

4

2 回答 2

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 正文。

于 2012-09-09T18:03:58.397 回答
0

看看如何将 XML 发布到您的程序中会很有用。通常,当使用 POST 方法时,数据从 HTML 表单作为 HTTP 请求正文中的名称-值对发送。从您的问题中不清楚您是否使用 HTML 表单将 XML 发布到您的程序,如果没有更多信息,很难判断可能出了什么问题。

从您的代码看来,您正在阅读整个 HTTP 请求,您通常会在其中读取请求参数的值,例如:

Request["XmlParameterName"]

XmlParameterNameHTML 表单输入字段的名称在哪里。

你检查过inputString变量的值吗?它是有效的 XML 吗?编码是否正确?是否有任何无效字符(如&符号)正确转义?

如果我提到的所有事情都不是问题,请用更多信息更新您的问题。

于 2012-09-09T05:47:06.353 回答