代码之家  ›  专栏  ›  技术社区  ›  awj

从<style>元素分析css

  •  0
  • awj  · 技术社区  · 15 年前

    有人能告诉我在.NET中检索标记页上标记之间CSS的有效方法吗?

    我想出了一个方法,它使用递归、split()和compareto(),但实际上是长篇大论,我相信一定有一个更短(更聪明)的方法可以做到这一点。

    请记住,一个页面上可能有多个元素,并且元素可以是或。

    3 回复  |  直到 15 年前
        1
  •  0
  •   tcables    15 年前

    尝试正则表达式。

    古托: http://gskinner.com/RegExr/ 用CSS粘贴HTML,并在顶部使用此表达式:

    <style type=\"text/css\">(.*?)</style>
    

    这是C版本:

    using System.Text.RegularExpressions;
    
    Match m = Regex.Match(this.textBox1.Text, "<style type=\"text/css\">(.*?)</style>", RegexOptions.Singleline);
    
    if (m.Success)
    {
        string css = m.Groups[1].Value;
        //do stuff
    }
    
        2
  •  3
  •   Matthew Dresser    15 年前

    我可能会去的 HTML Agility Pack 这使您可以使用DOM样式访问页面。它可以挑选出您的CSS数据块,但实际上不能将这些数据解析为键/值对。您可以使用x-path样式表达式获取相关的HTML片段。

    编辑: HTML敏捷性包的典型用法示例如下所示。

    HtmlDocument doc = new HtmlDocument();
    doc.Load("file.htm");
    var nodes = doc.DocumentElement.SelectNodes("//a[@style"]);
    //now you can iterate over the selected nodes etc
    
        3
  •  1
  •   Samuel Neff    15 年前

    这是一个C CSS解析器。应该做你需要的。

    http://www.codeproject.com/KB/recipes/CSSParser.aspx