Ich bin mit einem XML-Dokument arbeiten, die eine Struktur enthält, die diesen recht ähnlich sieht:Warum gibt SelectSingleNode null zurück?
<MT>
<Events>
<event id="1">
<field name="blah" value="a_value" type="atype" />
.
.
.
</event>
</Events>
</MT>
ich derzeit diese aus einer Datei in ein XML-Dokument auf diese Weise bin Laden:
XmlDocument xdoc = new XmlDocument();
xdoc.Load("somefile.xml"); //Successfully loads btw
jedoch habe ich in ein Problem laufen lasse und nur mit diesem einen bestimmten Dokument, wenn ich versuche, die nächste Codezeile auszuführen:
bin ich auf der Bohrinsel ht track, indem ich rate, dass dies null zurückgibt wegen eines Problems mit einem Attribut mit dem Namen "id" oder fehlt mir etwas im Code?
Beantworten meiner eigenen Frage. XmlNameTable wird zum Optimieren von Zeichenfolgenvergleichen verwendet und ich nehme an, dass der Grund, warum Sie dem XmlNamespaceManager eine vorhandene Namenstabelle geben können, schnelle Vergleiche mit den XmlDocument-Elementen ermöglicht, da diese dann die NameTable teilen. –
Ihr Update scheint sinnvoll zu sein. Ich habe versucht, eine abgekürzte Form des XML zu erstellen, und vergessen, den Namespace zu veröffentlichen. Danke, dass Sie sich die zusätzliche Zeit genommen haben, um diese herauszufinden. Sobald ich den Namespace aus dem ursprünglichen XML entfernt habe, funktioniert alles wie es sollte. Auf jeden Fall lohnt mehr Studium des System.Xml-Namespace. –