我正試圖解析this XML Yahoo feed。C++中,如何獲得HTML代碼中的特定字符串
如何我喜歡得到每個記錄成在C++中的陣列 喜歡創建結構
然後得到的那些可變 並記錄結構內的每個元素。
首先,我如何得到的數值超出
感謝
我正試圖解析this XML Yahoo feed。C++中,如何獲得HTML代碼中的特定字符串
如何我喜歡得到每個記錄成在C++中的陣列 喜歡創建結構
然後得到的那些可變 並記錄結構內的每個元素。
首先,我如何得到的數值超出
感謝
如果你想惹的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;
}
我嘗試了你的代碼,但是它沒有輸出任何東西。 – 2012-07-23 16:36:03
你有沒有in.html文件? – perreal 2012-07-23 16:36:56
我解析這個頁面[鏈接](http://sg.finance.yahoo.com/q?s=USDSGD=X),我使用lynx -source URL> buffer.txt,那麼緩衝區其實就是源代碼。我將你的sgdmyr改爲usdsgd,但似乎不起作用 – 2012-07-23 16:49:21
您可能想看看如果給定頁面的JSON格式提供輸出。然後,您可以簡單地請求該值,而不是亂用HTML。雅虎!財務網站甚至可能會提供一個可用於輕鬆請求價值的API。
我找到了api,但是我如何解析這個以獲得例如USD/SGD – 2012-07-23 15:53:52
C++有'的std :: string :: find()方法'和'的std :: string :: SUBSTR()'。您可以使用它們來查找和提取您正在查找的數據。 – hmjd 2012-07-23 15:47:49