我有代碼使用StreamReader從文件中讀取HTML,然後調用ReadToEnd()函數。 HTML以字符串形式存儲。你能解決我使用String IndexOf方法的這個奇怪問題嗎?
然後我把這行代碼:
string bookmarksBar = HTMLDoc.Substring(HTMLDoc.IndexOf(">Bookmarks bar</H3>"), HTMLDoc.IndexOf("</DL><p>"));
所以這裏發生了什麼是我想要的HTML的特定部分,所以我使用的字符串的子串方法。第一個參數是startIndex,第二個參數是長度。
我使用的IndexOf方法,使該行的代碼將返回文本的部分應該是">Bookmarks bar</H3>"
和"</DL><p>"
返回的字符串,從而結束之間應該是一個"</DL><p>"
被發現,對不對?
然後的問題是,該字符串不結束,其中</DL><p>
被發現,但端部323點的字符以後,在這條線(I已插入4個星號來說明,其中在返回字符串結尾):
ICON="data:image/png;base64,iVBORw0KGgoAAA****ANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABbklEQVQ4je3RPWuTYQCF4fs875uYKEilOA
我不明白爲什麼它會在這裏結束,因爲此時字符串不符合"</DL><p>"
。
因此,這裏是HTML的一個更大的部分:
jNpXrXKt4WFgn/KY1J1yBg874KWb0Vmr+BSttzgKt3LuBAAAAAElFTkSuQmCC\"></A>\r\n </DL><p>\r\n <DT><H3 ADD_DATE=\"1282073650\" LAST_MODIFIED=\"1301438557\">Link 1</H3>\r\n <DL><p>\r\n <DT><H3 ADD_DATE=\"1282073650\" LAST_MODIFIED=\"1286905747\">Link2</H3>\r\n <DL><p>\r\n <DT><A HREF=\"http://creators.xna.com/en-GB/create_detail#tour_four\" ADD_DATE=\"1282073650\" ICON=\"data:image/png;base64,iVBORw0KGgoAAA"
你可以看到在上面HTML的"</DL><p>"
,爲什麼不讓它停止在這一點上,而不是在「KGgoAAA」停止?
任何想法?
謝謝