C# XmlDocument SelectNodes

гм... используйте тип stylsheet для печати..., например:

<link rel="stylesheet" type="text/css" href="print.css" media="print" />

print.css:

div { display: none; }
#yourdiv { display: block; }
8
задан Daniel 7 August 2009 в 23:16
поделиться

2 ответа

Ответы Роба и Марка, вероятно, идут в правильном направлении - XmlDocument + namespaces + XPath может быть немного неприятным.

Если вы можете использовать .NET 3.5, я Предлагаем вместо этого использовать LINQ to XML. Это сделало бы его действительно простым:

XDocument doc = XDocument.Load("foo.xml");
XNamespace ns = "bar";
var results = doc.Descendants(ns + "result");

foreach (var result in results)
{
    ...
}

По сути, LINQ to XML - превосходный API почти во всех отношениях, по моему опыту :) (я считаю, что есть некоторые возможности, которые ему не хватает, но если у вас есть доступ к .NET 3.5 определенно стоит хотя бы попробовать.)

18
ответ дан 5 December 2019 в 05:34
поделиться

Мне кажется, проблема заключается в пространствах имен; для этого обычно требуется заручиться помощью XmlNamespaceManager и использовать псевдоним в своих запросах, например

doc.SelectNodes("//x:results/x:result", nsmgr);

(где x определено в nsmgr как псевдоним данного пространства имен)

12
ответ дан 5 December 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: