Liktor Janos
Я постараюсь помочь вам, однако я немного озадачен вашим объяснением и вашим блоком foreach.
Чего вы хотите достичь?
Извлечь все элементы SPAN в массив?
Пересчитать их?
РЕДАКТИРОВАТЬ:
Ладно, кажется, я понял. Я надеюсь, по крайней мере :)
Просто чтобы быть уверенным, вы хотите получить такой выходной массив:
string[] shipping_array = new string[]
{
"class=""c""",
"0",
"class=""c2""",
null //why did not you define this item?
};
Это кажется немного непоследовательным, однако я не знаю предыстории.
Итак, мои следующие вопросы::
* Откуда берется символ " 2 " в третьем элементе массива? Это счетчик найденных классов "с"?
* Вы не определили четвертый элемент массива. Почему? Есть ли разница между короткими промежутками?
РЕДАКТИРОВАТЬ:
Попробуйте что-нибудь подобное:
var results = new List<string>();
var divs = doc.DocumentNode.SelectNodes("//div");
foreach (var div in divs)
results.Add(div.SelectNodes("span[@class='c']") == null ? "0" : "class=\"c\"");
Member 12268183
Спасибо за ваш ответ. Я хотел бы извлечь все элементы span в массив. Второй div не имеет пролета. Я хотел бы массив должен выглядеть следующим образом: {продолжительность = "с", 0, пролет = "с"}, следующий HTML код.
Member 12268183
Да, я хотел бы получить от вас выходной массив, подобный упомянутому выше. Символ "2" в третьем элементе массива является ошибкой. Третий элемент не имеет символа "2". Я не определил четвертый элемент. Это тоже ошибка. Прошу прощения!
Liktor Janos
О, я почти забыл: а как насчет внешнего DIV? У этого есть span class="c"
дочерний элемент, хотя и не как прямые потомки. Что тебе нужно от этого дива? Добавьте в массив как "class=\"c\"" или добавьте как "0". Более того, когда вы хотите добавить его, на открывающем или закрывающем узле?