2016-11-17 9 views
1

C#を使用してXMLファイルからC:\ SourceFiles \というパスを取得する必要があります。C#を使用してXMLファイルからパスを取得する

私はさまざまなエスケープ方法を試してきましたが、何も正しく動作しないようです。

私はこれらを試してみました:

@"C:\SourceFiles\ or C:\\SourceFiles\\ or "C:\\SourceFiles\\" and 'C:\SourceFiles' 

これらのいずれもが、XMLファイルからの読み込み時に動作するようには思えません。ここで

XmlDocument xDoc = new XmlDocument(); 
     xDoc.Load(strpath); 

     string strsourceDirectory = xDoc.SelectSingleNode("Application/Setup/SourceDirectory").InnerText; 

はXMLファイルです:誰かがC#とXMLファイルでこれを行っている場合

<Application> 
<Setup> 
<SourceDirectory>"C:\SourceFiles\"</SourceDirectory> 
<DestinationDirectory>@"C:\DestinationFiles\"</DestinationDirectory> 
</Setup> 

、私はあなたがそれをやった方法をお知らせください。

ありがとう、

+0

エラーまたは例外を取得してください'xDoc.Load(strpath)'を呼び出すとどうなりますか?また 'strpath'の値は何ですか? –

答えて

1

あなたのXMLファイルは無効です。この有効なXMLで

<Application> 
    <Setup> 
     <SourceDirectory>C:\\SourceFiles\\</SourceDirectory> 
     <DestinationDirectory>C:\\DestinationFiles\\</DestinationDirectory> 
    </Setup> 
</Application> 

、あなたのコードを使用してパスを取得することができます:あなたはバックスラッシュ \\を脱出し、 Applicationタグを閉じる必要があり

string strsourceDirectory = 
    xDoc.SelectSingleNode("Application/Setup/SourceDirectory").InnerText; 
+0

申し訳ありませんが、私のXMLファイルのように見えます。私は開始と終了で正しいXMLファイルを持っています。私はこれをXMLファイルC:\\ SourceFiles \\に追加しますが、C:\\\\ SourceFiles \\\\を私に渡しました。あなたは私のためのクイックチェックをして、別の結果が得られるかどうか確認できます。私の投稿に感謝してくれてありがとう。 – user2763048

+0

私はそれを再チェックしました。余分なバックスラッシュでさえも、私のコードが私に無効なパスエラーを与えてしまう前に動作しています。助けてくれてありがとう、それは今働いている。 – user2763048

関連する問題