InnerText איפה אני טועה
-
ספריה בשימוש HtmlAgilityPack. הקוד הזה משום מה לא מחזיר את הערך הצפוי:
string str2 = @"<select> <option value='משה'>FirstName</option> <option value='זוכמיר'>LastName</option> </select>"; HtmlDocument doc = new HtmlDocument(); doc.LoadHtml(str2); MessageBox.Show(doc.DocumentNode.Descendants("option").FirstOrDefault().InnerText);
היש למאן דהו הסבר?
פורסם במקור בפורום CODE613 ב13/01/2015 00:20 (+02:00)
-
אכן יוצא דופן, יגעתי ומצאתי: http://stackoverflow.com/a/4759300/1271037.
שם כתוב שזה בגלל שהתג option, בברירת מחדל, מעובד ללא הסיומת הסוגרת שלו
(הסיבה היא אופן כתיבה מיושן של מסמכי HTML).ובשביל להוריד את ההתנהגות הזו הזו צריך להוסיף את השורה הזו:
HtmlAgilityPack.HtmlNode.ElementsFlags.Remove("option");
פורסם במקור בפורום CODE613 ב13/01/2015 12:33 (+02:00)