2011-09-15 62 views
1

我有,看起來像一個簡單的XML文件:使用Linq到XML(C#)如何查找屬性值?

<Institutions> 
    <FI name = "NameOne"> 
     <longname>some text</longname> 
     <APIKey>some text</APIKey> 
     <connectstring>some text</connectstring> 
    </FI> 
    <FI name = "NameTwo"> 
     <longname>some text</longname> 
     <APIKey>some text</APIKey> 
     <connectstring>some text </connectstring> 
    </FI> 
</Institutions> 

使用LINQ到XML我可以抓取整個文件中,找到「LONGNAME」,「APIKey」和「CONNECTSTRING」的所有值,但我不能找出如何找到所有「名稱」值或如何僅抓取每個FI名稱值下面的三條信息。只是要清楚,我不會提前知道名稱=值是什麼。

我使用:

XElement root = XElement.Load("c:\\directory\\Data_Config.xml"); 

IEnumerable<XElement> Fis = 
from el in root.Elements("Institutions") 
select el; 

加載該文件,按照MSDN文檔。所有這些參考資料似乎暗示了我將要查詢的名稱價值的知識。

我google了一下,試過不同的屬性/元素查詢,都沒有運氣。我很確定這很簡單,但它卻在逃避我。

我該如何獲取這些數據?

感謝,

傑森

回答

7
var xml = XElement.Load (@"c:\directory\Data_Config.xml"); 
var query = 
    from e in xml.Descendants("FI") 
    select e.Attribute("name").Value; 
+0

謝謝,這做到了。一旦我的10分鐘延遲結束,我會選擇它。 – Jason