2012-07-23 75 views
1

我正試圖解析this XML Yahoo feedC++中,如何獲得HTML代碼中的特定字符串

如何我喜歡得到每個記錄成在C++中的陣列 喜歡創建結構

然後得到的那些可變 並記錄結構內的每個元素。

首先,我如何得到的數值超出

感謝

+0

C++有'的std :: string :: find()方法'和'的std :: string :: SUBSTR()'。您可以使用它們來查找和提取您正在查找的數據。 – hmjd 2012-07-23 15:47:49

回答

0

如果你想惹的html代碼:

#include <iostream> 
#include <fstream> 
int main() { 
    std::ifstream ifile("in.html"); 
    std::string line; 
    std::string ndl("<span id=\"yfs_l10_sgdmyr=x\">"); 
    while(ifile.good()){ 
    getline(ifile, line); 
    if (line.size()) { 
     size_t spos, epos; 
     if ((spos = line.find(ndl)) != std::string::npos) { 
     spos += ndl.size(); 
     if ((epos = line.find(std::string("</span>"), spos)) != std::string::npos) { 
      std::cout << line.substr(spos, epos-spos) << std::endl; 
     } 
     } 
    } 
    } 
    return 0; 
} 
+0

我嘗試了你的代碼,但是它沒有輸出任何東西。 – 2012-07-23 16:36:03

+0

你有沒有in.html文件? – perreal 2012-07-23 16:36:56

+0

我解析這個頁面[鏈接](http://sg.finance.yahoo.com/q?s=USDSGD=X),我使用lynx -source URL> buffer.txt,那麼緩衝區其實就是源代碼。我將你的sgdmyr改爲usdsgd,但似乎不起作用 – 2012-07-23 16:49:21

5

您可能想看看如果給定頁面的JSON格式提供輸出。然後,您可以簡單地請求該值,而不是亂用HTML。雅虎!財務網站甚至可能會提供一個可用於輕鬆請求價值的API。

+0

我找到了api,但是我如何解析這個以獲得例如USD/SGD – 2012-07-23 15:53:52

相關問題