XML ファイルを生成するための簡単なツールを作成しました。ここ数日、このツールを使用していますが、問題は発生していません。それから昨日私はそれを使いに行きました、そして私は次のエラーを得ています:
XmlException: ドキュメント要素が表示されませんでした。file:///C:/DarkRideSettings/DarkrideSettings.xml 行 1、位置 1。
私の理解では、このエラーは、コンピューターがコード内の指定された場所に XML ファイルを見つけられないことを示しています。問題は、文字通り前日にこのコードを使用したことで、XML ファイルがあるべき場所にあるということです。
XML を記述するためのコードは次のとおりです。
public void WriteXMLFile()
{
// location of the file
string _filePath = "C:\\DarkRideSettings\\DarkrideSettings.xml";
XmlDocument _xmlDoc = new XmlDocument();
// if the file exists
if (File.Exists(_filePath))
{
// load it in
_xmlDoc.Load(_filePath);
// clear out the previous data
_xmlDoc.RemoveAll();
// create the main root node
XmlNode rootNode = _xmlDoc.CreateElement("Settings");
_xmlDoc.AppendChild(rootNode);
// corners node (next layer down)
XmlElement _cornerNode = _xmlDoc.CreateElement("Screen_Corners");
_xmlDoc.DocumentElement.PrependChild(_cornerNode);
#region Top Left Corners XYZ Values
// indent top left corner value to screen corners
XmlElement _topLeftNode = _xmlDoc.CreateElement("Top_Left");
_cornerNode.AppendChild(_topLeftNode);
// set the XYZ of the top left values
XmlElement _topLeftXNode = _xmlDoc.CreateElement("TopLeftX");
// take string value and convert to float for use in final calculation
float _topLeftXFloat = Convert.ToSingle(_screenWidthString);
float _topLeftX = -_topLeftXFloat / 2.0f;
_topLeftXNode.InnerText = Convert.ToString(_topLeftX);
XmlElement _topLeftYNode = _xmlDoc.CreateElement("TopLeftY");
_topLeftYNode.InnerText = _screenHeightString;
XmlElement _topLeftZNode = _xmlDoc.CreateElement("TopLeftZ");
float _topLeftZFloat = Convert.ToSingle(_distanceFromScreenString);
float _topLeftZ = _topLeftZFloat / 2.0f;
_topLeftZNode.InnerText = Convert.ToString(_topLeftZ);
// indent these values to the top_left value in XML
_topLeftNode.AppendChild(_topLeftXNode);
_topLeftNode.AppendChild(_topLeftYNode);
_topLeftNode.AppendChild(_topLeftZNode);
#endregion
_xmlDoc.Save(_filePath);
}
}
このコードは、問題なく XML ファイルを生成します (スペースを節約するために、このメソッドのコードの一部を省略していますが、特に重要なことは何もありません)。
自分のコードにあるはずの何かが欠けているかどうか (昨日言ったように、正直に言って、昨日はうまくいきました!)、またはこのエラーをどのように打ち負かすことができるかを誰でも見ることができますか? 私の XML ファイルは必要な場所にあるはずです。そうでなかったとしても、私のコードは新しいファイルを作成する必要があります。
私を助けてください。