Я пытаюсь разобрать немного данных из файла HTML, но моя инструкция Linq не работает. Вот XML/HTML. Ниже, как я могу извлечь строку «41.8; 12.23» из метатега geo.position? Спасибо!!Как извлечь метатег из XML/HTML с помощью Linq?
Вот мой Linq
String longLat = (String)
from el in xdoc.Descendants()
where
(string)el.Name.LocalName == "meta"
& el.FirstAttribute.Name == "geo.position"
select (String) el.LastAttribute.Value;
Вот мой XDocument
<span>
<!--CTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dt -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="application/xhtml+xml; charset=utf-8" http-equiv="Content-Type" />
<meta content="text/css" http-equiv="Content-Style-Type" />
<meta name="geo.position" content="41.8;12.23" />
<meta name="geo.placename" content="RomeFiumicino, Italy" />
<title>RomeFiumicino, Italy</title>
</head>
<body />
</html>
</span>
Edit: Мой запрос, как данные возвращает ничего. Кажется, что «внутренний» запрос возвращает список всех мета-элементов, а не только один элемент, который я хочу.
Edit: Следующий запрос Linq работает против того же XDocument для извлечь таблицу с именем класса = «данные»
var dataTable =
from el in xdoc.Descendants()
where (string)el.Attribute("class") == "data"
select el;
подчеркнут вашу HTML и нажмите на кнопку «Код» – Gregoire
Смотрите эту страницу для полной ссылки разметки. http://stackoverflow.com/editing-help – Joel
А как насчет добавления вашего linq-statement-that-is-not-working? –