Pracuję z dokumentu XML, który zawiera strukturę, która wygląda podobnie do tego:Dlaczego funkcja SelectSingleNode zwraca wartość null?
<MT>
<Events>
<event id="1">
<field name="blah" value="a_value" type="atype" />
.
.
.
</event>
</Events>
</MT>
Jestem aktualnie załadowany ten z pliku do dokumentu XML w ten sposób:
XmlDocument xdoc = new XmlDocument();
xdoc.Load("somefile.xml"); //Successfully loads btw
Jednakże używam do problemu i tylko z tego jednego konkretnego dokumentu, gdy próbuję uruchomić następną linię kodu:
jestem na platformie ht track przez zgadywanie, że to jest zwracanie wartości null z powodu problemu z użyciem atrybutu o nazwie "id" lub czy brakuje mi czegoś w kodzie?
Odpowiadając na moje własne pytanie. XmlNameTable służy do optymalizacji porównań ciągów i domyślam się, że powód, dla którego można nadać XmlNamespaceManager istniejącą tabelę nazw, umożliwia szybkie porównywanie z elementami XmlDocument, ponieważ te następnie dzielą tabelę nazw. –
Twoja aktualizacja wydaje się mieć sens. Próbowałem umieścić skróconą formę xml i zapomniałem opublikować przestrzeń nazw. Dziękuję za poświęcenie dodatkowego czasu, aby spróbować to wymyślić. Po usunięciu przestrzeni nazw z oryginalnego xml wszystko działa tak, jak powinno. Zdecydowanie warte więcej przestudiowania przestrzeni nazw System.Xml. –