打印

[.net] 正则提取信息的问题

得到一个网页的源代码。。。很多东西,其中包含一个
复制内容到剪贴板
代码:
<select name="categories_1"  class="gameSelection" id="categories_1">
<option value="1">aaa</option>
....很多......
<option value="26">zab</option>
</select>
怎么用C#的正则分别取出value和中间的文字放到一个List头。。。。。。弄了很久了,还是不行,请大家帮帮我。。。。
等我一下哈,我给你写正则和程序。
www.119797.com
string s = "<option value=\"1\">aaa</option><option value=\"2\">bbb</option><option value=\"3\">ccc</option><option value=\"4\">ddd</option><option value=\"26\">zab</option>";
        Regex re = new Regex("<option value=\"([^\"]*)\">([^<]*)<\\/option>", RegexOptions.IgnoreCase | RegexOptions.Singleline);
        string[] lines = re.Split(s);
        foreach (string line in lines)
        {
            Response.Write(string.Format("gogo:{0}<br />",line));
        }
www.119797.com


 提示:您可以先修改部分代码再运行
这个OK了。
www.119797.com

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!

回复 4# benmao 的帖子

帅哥,你太强了,爱死你了。呵呵。。。。。

如果假如用xmlDocuemnt解析来做呢?通过节点来获取value和里面的innerText,呵呵,又该怎么做呢?

TOP

xml还用啥正则呀,直接xpath不就可以了。
www.119797.com

TOP

回复 6# benmao 的帖子

帅哥,你教哈我嘛,我有几个问题是请教,加我QQ好么?95459910

TOP

有问题在这提吧,再说我也是菜鸟。
你可以Google "C# xpath"来获取相关学习资料。
www.119797.com

TOP

复制内容到剪贴板
代码:
XmlDocument xmlDoc = new XmlDocument();
        xmlDoc.LoadXml(s);
        XmlNodeList nodeList = xmlDoc.GetElementsByTagName("option");
        foreach (XmlNode xn in nodeList)
        {
            Response.Write(xn.InnerText + "<br/>");
        }
        Response.End();
这样会有问题,它一样报错误,怎么办啊?
复制内容到剪贴板
代码:
“>”是意外的标记。标记应为“=”。 行 1,位置 147。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Xml.XmlException: “>”是意外的标记。标记应为“=”。 行 1,位置 147。
源错误: .......................

TOP

把xml以文本的形式上传上来。
www.119797.com

TOP

找到问题了,晕死,它的源代码不规范,有一个<option value="" SELECTED>,这个SELECTED没有以属性=值的形式,就一直报错,谢谢了。。。

TOP