在C#中获取特定HTML标记(span标记)的值

时间:2014-08-24 11:29:25

标签: c# regex

我正在为Windows Phonw 8开发一个GOOGLE TRANSLATE软件。我希望在特定class =“result_box”的span标记内获得“ALL SPAN TAGS的值” 在C#。

<html>
.
.
<span id="result_box" class="short_text" lang="pt">
        <span class="hps">
            Olá
        </span>
        <span class="">
            .
        </span>
        <span class="hps">
            oi
        </span>
    </span>
.
.
</html>

我尝试了这个,但它无法正常工作

html = e.Result;
var r = new Regex(@"(?i)<span[^>]*?>\s*", RegexOptions.IgnoreCase);
string capture = r.Match(html).Groups[1].Value;
MessageBox.Show(capture);

建议我REGEX。如果可能的话请给我全部功能,让我回复文字。

2 个答案:

答案 0 :(得分:-1)

这是怎么回事?

        Regex r = new Regex(@"<span[^>].*?>([^<]*)<\/span>", RegexOptions.IgnoreCase);

        foreach (Match matchedSpan in r.Matches(html))
        {
            string capture = matchedSpan.Groups[1].Value;
            MessageBox.Show(capture);
        }

答案 1 :(得分:-2)

好的,因为@mason不喜欢上一个答案,这里有另一个方法:

        XmlDocument htmlXML=new XmlDocument();
        htmlXML.LoadXml(html);
        foreach (XmlNode spanElement in htmlXML.SelectNodes("//span[@class='short_text']/span") ) {
            MessageBox.Show(spanElement.InnerText);

        }

记得添加

using System.Xml;