-3

一般的な C:\Users...\myXmlFile.xml で始まるパスがあり、それをロードしようとしています

XElement.Load(@"C:\Users\...\myXmlFile.xml") 

しかし、それはロードされ、次のように表示されます。

ルート レベルのデータは無効です。行 1、位置 1。

理由がわかりましたが、解決できません。問題は、パスにあるフォルダーの一部に、単語の間にスペースとダッシュがあるフォルダーがあることです。例C:\users\my - フォルダー - dont - work\otherFolder\myXmlFile.xml

スペースを削除すると機能します。

4

2 に答える 2

2

パス内のスペースとダッシュは、xml の読み込みには影響しません。ファイルの検索に問題がある場合は、FileNotFoundException. したがって、エラーは、最初の行の最初の位置に間違ったデータがあることを示しています。xml ファイルには<、ファイルの先頭にタグ (シンボルから開始する必要があります) が含まれていないと思います。

于 2013-07-18T12:31:44.113 に答える
0

試す、

FileInfo file = new FileInfo(@"C:\Users\...\myXmlFile.xml");
if(file.Exists)
{
   XElement root = XElement.Load(file.Fullname);
   ...
}
else
   throw new FileNotFoundException(file.Fullname);
于 2013-07-18T15:12:01.490 に答える