私はこれに似た構造を含むXML文書で働いている:私は現在、この方法でXMLドキュメントにファイルからこれをロードしていますSelectSingleNodeがnullを返すのはなぜですか?
<MT>
<Events>
<event id="1">
<field name="blah" value="a_value" type="atype" />
.
.
.
</event>
</Events>
</MT>
:
XmlDocument xdoc = new XmlDocument();
xdoc.Load("somefile.xml"); //Successfully loads btw
私は次のコード行を実行しようとすると、しかし、私が問題にしてこれだけ特定の文書で実行しています:
私はリグの午前htは 'id'という名前の属性を使用しているためにnullが返されていると推測したり、コードに何か不足していますか?
私自身の質問に答える。 XmlNameTableは文字列の比較を最適化するために使用されています.XmlNamespaceManagerに既存の名前テーブルを付けることができるため、XmlDocument要素との高速比較が可能になり、NameTableを共有します。 –
あなたのアップデートは理にかなっているようです。私はxmlの短縮形をつけようとしていて、名前空間を投稿するのを忘れていました。これを試してみるために余分な時間をとっていただきありがとうございます。元のXMLから名前空間を削除すると、すべてが正しく動作するようになります。 System.Xml名前空間についてさらに検討する価値があります。 –