(高分结贴)如何用C#读取.aspx文件中某个特定的字符段?

linzish 2005-04-27 09:57:18
我在前一个submit.aspx页面提交一些信息之后,进入下一个返回的submit2.aspx页面。这个返回的页面是没有内容显示的页面,右键“查看源文件”后看见如下代码:

<Policy><AutoCheck Interval="60" Error="3"/><AdMedia><Media Type="Flash" ID="1" Download="http://202.105.114.99/downlaod/db68f75e-5912-4be1-8168-e8c5e1b54522.swf" Priority="0" ValidBegin="2005-3-11 0:00:00" ValidEnd="2005-5-6 0:00:00" /></AdMedia>

请问如何读取其中的 Download 字段的值?
(我可以把上面这段返回的code存放在html/xml/aspx等文件中,但如何读取特定字段却百思不解啊)

请高手指点,有类似代码吗?
...全文
158 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
superb 2005-04-27
  • 打赏
  • 举报
回复
关键的正则表达式是:
Download=".[^"]{1,}"
superb 2005-04-27
  • 打赏
  • 举报
回复
用正则表达式,完整代码如下:
using System;
using System.Text.RegularExpressions;

class Class1
{
static void Main(string[] args)
{
////将你页面的内容,保存入tmp,比较麻烦,但是方法简单
string tmp="把页面内容转化为字符串,这里我简写一些ID=\"1\" Download=\"http://202.105.114.99/downlaod/db68f75e-5912-4be1-8168-e8c5e1b54522.swf\" Priority=\"0";
Match mt=Regex.Match(tmp,"Download=\".[^\"]{1,}\"");
if(mt.Success)
{
tmp=tmp.Substring(mt.Index,mt.Length);
}
Console.Write(tmp);
//看到结果就不用我再写了吧!
}
}
syeerzy 2005-04-27
  • 打赏
  • 举报
回复
用双引号来Split,然后查找每个元素开头是不是http就可以了吧?
hchxxzx 2005-04-27
  • 打赏
  • 举报
回复
值 = ary2[1].ToString();
上面写错了,ary2写成ary1.
hchxxzx 2005-04-27
  • 打赏
  • 举报
回复
如果用简单的方法,你可以用拆分数组的方式得到.
string str1 = "..上述文字";
//先用空格拆分
string[] ary1 = str1.Split(' ');
string[] ary2;
for(int i=0;i<ary1.Length;i++)
{
ary2 = ary1[i].Split('=');
if(ary2[0].ToString() == "Download")
{
值 = ary1[1].ToString();
break;
}
}
adventure007 2005-04-27
  • 打赏
  • 举报
回复
用XML的DOM来实现。容易用户空间可以考虑
Nils 2005-04-27
  • 打赏
  • 举报
回复
我try了一下,,取是可以,不知道你用得上不。。

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string str = Write("http://localhost/WebApplication/2.aspx");

int a=str.LastIndexOf("Download=\"")+10;
int b=str.LastIndexOf("\" Priority");
string tempstr=str.Substring(a,b-a);

Response.Write(tempstr);
}

private string Write(String url)
{
try
{
System.Net.HttpWebRequest web = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);
HttpWebResponse HttpWResp = (HttpWebResponse)web.GetResponse();
StreamReader reader = new StreamReader(HttpWResp.GetResponseStream(),System.Text.Encoding.GetEncoding("GB2312"));
String ver = reader.ReadToEnd();
HttpWResp.Close();

return ver;
}
finally
{}
}


2.aspx内容为你说的。 1.aspx去掉html部分,就留了<%@ %>部分
ziyan0218 2005-04-27
  • 打赏
  • 举报
回复
mark

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧