none
WebBrowser1.DocumentText讀取html問題 II RRS feed

  • 問題

  • 以下代碼是某php產生出來的內容, 如果依舊使用WebBrowser1.DocumentText的方式, 我要如何才可以讀取紅色部份的數值在我的程式內? 還是可以轉用其他的方式來讀取?

    Code Snippet

    <Id>000005</Id>
    <Desp><![CDATA[HSBC HOLDINGS]]></Desp>
    <ChiDesp><![CDATA[匯豐控股]]></ChiDesp>
    <High>127.6</High>
    <Low>125.6</Low>
    <Open>127.0</Open>
    <Volume>16237466</Volume>
    <marketcap>1,510,630</marketcap>
    <lastupdate>2008/03/27 12:00:00</lastupdate>

     

     

     

    而有關正則表達式我已上網查了一下, 還是不太懂如何運用..

    http://zh.wikipedia.org/w/index.php?title=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F&variant=zh-hant

    2008年3月27日 下午 06:18

解答

所有回覆

  • 若是原始內容是 xml 格式,請用 xmlDocument 去讀。

     

     

    規則運算式線上手冊位置:

    各關鍵字依用途在下面這個網頁的子聯結內:

    http://msdn2.microsoft.com/zh-tw/library/az24scfc(VS.80).aspx

     

    其他資訊請從規則運算式的目錄往下看:

    http://msdn2.microsoft.com/zh-tw/library/hs600312(VS.80).aspx

     

    註:.Net 2.0 的規則運算式與 Script / Java / PHP 有些微不同,跨程式語言的時候要注意。

     

    2008年3月28日 上午 06:23
    版主
  • 如 璉璉 所說用 XmlDocument 較為方便簡單...參考如下:

    string s = @"<TEST>
                   <Id>000005</Id>
                   <Desp><![CDATA[HSBC HOLDINGS]]></Desp>
                   <ChiDesp><![CDATA[匯豐控股]]></ChiDesp>
                   <High>127.6</High>
                   <Low>125.6</Low>
                   <Open>127.0</Open>
                   <Volume>16237466</Volume>
                   <marketcap>1,510,630</marketcap>
                   <lastupdate>2008/03/27 12:00:00</lastupdate>
                 </TEST>";
     
    XmlDocument xd = new XmlDocument();
    xd.LoadXml(s);
     
    foreach (XmlNode outerNode in xd.ChildNodes)
    {
        foreach (XmlNode innerNode in outerNode.ChildNodes)
        {
            MessageBox.Show(innerNode.InnerText);
        }
    }

    2008年3月28日 下午 02:47