2011-10-28 6 views
0

私は以下の問題を抱えています。私のXMLファイルはロードされていません。私はファイルを読み込み、XMLNodeLlistを使ってそれを反復して値を保存したいと思っています。 XMLファイルは私のVisual Studio 2010ソリューションにあります。私が道に迷っているものはありますか?次のXMLファイルがロードされます

XmlDocument xml = new XmlDocument(); 

public Test() 
{ 

    xml.LoadXml(@"C:\Users\testuser\Desktop\TestWebsite\TestData.xml"); 
    ...more code 

答えて

6

XmlDocument.LoadXml(stirng xml)はファイルパスではなく実際のXML文字列を想定しています。 あなたはXmlDocument.Load()を使用し、あなたにそれをあなたの文書やファイルパスのFileStreamを渡すことができます。それよりもさらに良い

XmlDocument xml = new XmlDocument(); 
xml.Load(@"C:\Users\testuser\Desktop\TestWebsite\TestData.xml"); 
// or 
xml.Load(File.OpenRead(@"C:\Users\testuser\Desktop\TestWebsite\TestData.xml")); 

は、ファイルパスを直接働く負荷メソッドを持つ新しいXDocumentオブジェクトを使用することであろうが、これは.NETのそれ以降のバージョンでXMLとの相互作用の好ましい方法であると、このアプローチを使用することをお勧めします:

XDocument doc1 = XDocument.Load(@"C:\Users\testuser\Desktop\TestWebsite\TestData.xml", LoadOptions.None); 
+0

は、それはいくつかのより多く:(グーグルでやってから、アンディ・ケースだったことを考えていた - ロードするいただきました!最良の方法をXMLのファイルでAndyあなたは知っていますか? –

+0

パスを渡すこともできます直接ロードする –

+0

@KOL - XDocumentを使用することをお勧めします。これは現在、.NETでXMLを扱う際に推奨される方法であり、多くのLinqの良さにもアクセスできます。 –

関連する問題