XML ファイル内の既存のコンテンツを検索し、SelectSingleNode コマンドを使用して変更しようとしています。ただし、取得するのは NullReferenceException だけです。この特定のコマンドでファイル パスがどのように機能するかを理解していないだけかもしれませんが、オンラインで見つけた多くのバリアントを試しましたが、役に立ちませんでした。誰かが私が間違っていることを理解するのを手伝ってくれますか?
これがスクリプトです。
public void saveStuff()
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(@"Worlds\WorldData.xml"); //loads the file just fine
XmlNode node = xmlDoc.SelectSingleNode("//World[@ID='002']/Name"); //node = null
node.Value = "New Name"; //NullReferenceException was unhandled
xmlDoc.Save(@"Worlds\example.xml");
}
これが私の XML ファイルのサンプルです。
<?xml version="1.0" encoding="utf-8" ?>
<XnaContent>
<World ID="001">
<Name>
TinyWorld
</Name>
<Size>
4x4
</Size>
<Tiles>
000,000,000,001,
000,000,000,001,
001,001,004,001,
001,001,001,001,
</Tiles>
</World>
<World ID="002">
<Name>
MicroWorld
</Name>
<Size>
2x2
</Size>
<Tiles>
000,000,
001,001,
</Tiles>
</World>
</XnaContent>