Как проверить наличие нескольких атрибутов в XPath?
Я хотел бы выбрать таблицы стилей в документе XHTML, которые содержат не только описание, но и href.
<link rel="stylesheet" href="123"/> 
должен быть выбран, и
<link rel="stylesheet"/>  
не должно.
В настоящее время, я делаю это так:
foreach (XmlNode n in xml.SelectNodes(@"//link[@rel='stylesheet']"))
{
    if (n.Attributes["href"]==null||n.Attributes[""].Value==null)
    {
        continue;
    }
    var l = Web.RelativeUrlToAbsoluteUrl(stuffLocation, n.Attributes["href"].Value);
}
но я подозреваю, что есть гораздо лучший способ сделать это. Есть?
1 ответов
добавить and @href для выражения атрибутов:
//link[@rel='stylesheet' and @href]
Это должно позволить вам отказаться от проверки:
foreach (XmlNode n in xml.SelectNodes(@"//link[@rel='stylesheet' and @href]"))
{
    var l = Web.RelativeUrlToAbsoluteUrl(stuffLocation, n.Attributes["href"].Value);
}
