"odwołanie do obiektu nie zostało..." podczas odczytywania atrybutu XML

0

Witajcie,
Mam następujący kod:

            var xmldoc = new XmlDocument();
            xmldoc.Load(PDFpath);          
            XmlNode xnode = xmldoc.SelectSingleNode("cover/@style");
            string coverColor = xnode.Value;

który docelowo ma odczytywać wartość atrybutu "style" w elemencie "cover". Uzyskuje jednak błąd w ostatniej linijce:
"Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu."

Jak mogę coś takeigo ugryźć? Słyszałem, że ów komuniiat jest dość powszechny, niestety wymaga "indywidualnego podejścia" za każdym razem.

1

xnode jest równe null, czyli coś jest nie tak z SelectSingleNode - może ścieżka nie istnieje or sth.

1

Albo nie ma elementu cover, ktory mialby atrybut style:)

0

Ciekawostka... :)
Nie wziąłem pod uwagę, że poza ramami "wewnętrznych" elementów (w tym elementu cover) jest także "obramowanie" w postaci wszech-elementu, w którym znajduje się cały dokument.
w moim przypadku:

<?xml version="1.0" encoding="utf-8" ?> <pdf> //pól miliona elementów <cover style="cover-style"> //milion elementów </cover>

//dwa miliony elementów
</pdf>

tym samym właściwy XPath wygląda tak:
"pdf/cover/@style"

1 użytkowników online, w tym zalogowanych: 0, gości: 1