读取http主体并将其放入变量中

时间:2010-03-09 06:09:48

标签: c# .net asp.net html

如何创建一个类来读取html主体并将其转换为变量?

实施例 页面http://domain.com/page1.aspx

在html正文内容

中显示以下明文
item1=xyz&item2=abc&item3=jkl

如何阅读html正文的内容并将其分配给变量

在这种情况下

variable1 = xyz(取自item1 =的值)

variable2 = abc(取自item2 =的值)

variable3 = jkl(取自item3的值=)?

2 个答案:

答案 0 :(得分:1)

我认为你的意思是查询字符串而不是html正文。在这种情况下,您可以使用ASP.NET Page类的属性Context,如下所示

string var1 = Context.Request.QueryString["item1"];

答案 1 :(得分:1)

这是一个两个步骤。

首先你需要获取正文内容。

第二次您需要解析内容并分配给变量。

获取正文内容代码如下:

Regex exp = new Regex(@"((?:.(?!<body[^>]*>))+.<body[^>]*>)|(</body\>.+)", RegexOptions.IgnoreCase);
string InputText = content;

string[] MatchList = exp.Split(InputText);
string body = MatchList[2];

解析代码如下:

        string body = content;
        string [] param = {"&"};
        string[] anotherParam = { "=" };
        string[] str = body.Split(param , StringSplitOptions.RemoveEmptyEntries);
        System.Collections.Hashtable table = new System.Collections.Hashtable();
        foreach (string item in table)
        {
            string[] arr = item.ToString().Split(anotherParam, StringSplitOptions.RemoveEmptyEntries);
            if(arr.length != 2)
                 continue;
            if(!table.Contains(arr[0])){
                table.Add(arr[0], arr[1]);
            }                
        }