2016-04-12 12 views
0

設定がXMLファイルです。すべてCollectionEntryノードのnamevalueを読んで、それらをDataGridに追加したいと思います。XMLノードを読み込んでDataGridに追加

私は良い方法は、リストを使用してXMLファイルの名前と値でそれを埋めるし、このように、データグリッドに追加していると思う:

List<Buffer> buffers = new List<Buffer>(); 
buffers.Add(new Buffer(){bufferName="username_testuser1",bufferValue="testuser2"}); 
bufferGrid.DataSource = buffers; 

public class Buffer 
{ 
    public string bufferName { get; set; } 
    public string bufferValue { get; set; } 
} 

しかし、どのように、私は読むことができます特定の CollectionEntry値ですか? `XDocumentがタイプですが、variable`のように使用されます。

<?xml version="1.0" encoding="utf-8"?> 
<Settings xmlns="Namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <Category name="Commander"> 
    <Category name="ManualTestExecution"> 
     <Setting name="WindowLocation" legacyPath="Commander.GUI.ManualTestExecution.WindowLocation">336,263</Setting> 
     <Setting name="WindowSize" legacyPath="Commander.GUI.ManualTestExecution.WindowSize">732,451</Setting> 
    </Category> 
    </Category> 
    <Category name="Engine"> 
    <Setting name="Key Delay" legacyPath="BaseSettings.keyDelay">1</Setting> 
    <Setting name="Wait Intermediate" legacyPath="BaseSettings.waitIntermediate">5000</Setting> 
    <Setting name="Report Successful Execution of" legacyPath="XML.OutputLogLevel">2</Setting> 
    <Collection name="Buffer" legacyPath="Buffer.Local"> 
     <CollectionEntry name="username_testuser1">testuser2</CollectionEntry> 
     <CollectionEntry name="password_testuser1">!Welcome099</CollectionEntry> 
     <CollectionEntry name="username_testuser2">testuser2</CollectionEntry> 
    </Collection> 
    </Category> 
</Settings> 

答えて

0

XMLためにLINQを使用して、あなたが、私はエラーを取得する

XNamespace df = "Namespace"; 

List<Buffer> buffers = new List<Buffer>(from entry in XDocument.Load("yourFile.xml").Descendants(df + "CollectionEntry") select new Buffer(bufferName = (string)entry.Attribute("name"), bufferValue = (string)entry)); 
+0

を使用することができます。これはXMLファイルです – John

関連する問題