どのようにC#でHTMLDocumentを解析するのですか?

asp.net c# html-agility-pack

質問

私は単純なアプリケーションを使用してHTMLページのテキストをCで取得したいのですか?ネストされた要素がある場合、つまり、

<Table>
    <TR>
        <TD>**ABC**
        </TD>
        <TD>**1**
        </TD>
   </TR>
   <TR>
        <TD>**XYZ**
        </TD>
        <TD>**2**
        </TD>
   </TR>
</Table>

どのようにしてテキスト(太字)を直接values.I取得することができます私のデータベースに保存し、また、gridviewに表示したいですか?

 HtmlDocument htmlSnippet = new HtmlDocument();
 htmlSnippet = LoadHtmlSnippetFromFile();

 private HtmlDocument LoadHtmlSnippetFromFile()
 {
     //TextReader reader = File.OpenText(Server.MapPath("~/App_Data/HtmlSnippet.txt"));

     WebClient webClient = new WebClient();
     const string strUrl = "http://www.dsebd.org/latest_PE_all2_08.php";

     Stream reader = webClient.OpenRead(strUrl);

     HtmlDocument doc = new HtmlDocument();
     doc.Load(reader);

     reader.Close();

     return doc;
}

このhtmlSnippetから、どのように値を取得できますか?

人気のある回答

私はあなたが必要とするものは、あなたの例を挙げて、あなたは文字列をしたいのか分からない"**ABC****1****XYZ****2**"

次に、これは動作するはずです: htmlSnippet.Body.OuterText

編集:OK、別の値の例をしようとしている...

HtmlElement tableElement = FindElement(HtmlDocument.Body, "table");
foreach(HtmlElement row in tableElement.Children)
{
    if (row.Name.ToLower() == "tr")
    {
        // create whatever class you use for a row
        foreach(HtmlElement cell in row.Children)
        {
            if (cell.Name.ToLower() == "td")
            {
                // add a new cell to your row using cell.InnerText
            }
        }
    }
}

// *** snip ***

private HtmlElement FindElement(HtmlElement element, string name)
{
    if (element.Name.ToLower() == name)
    {
        return element;
    }
    foreach(HtmlElement child in element.Children)
    {
        HtmlElement test = FindElement(test, name);
        if (test != null)
        {
            return test;
        }
    }
    return null;
}

申し訳ありませんが、コードをテストするためにここにVisual Studioがありません。幸運にも;-)



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ