2009-11-04 30 views
1

我用的XMLReader格式:獲取文件與XMLReader的屬性在C#


XmlReader xmlReader = XmlReader.Create("batch.xml"); 
while (xmlReader.Read()) 
{ 
    //Keep reading 
    if (xmlReader.Name.Equals("Keyword") && (xmlReader.NodeType == XmlNodeType.Element)) 
    { 
     // get attribute from the Xml element here 
     string keywords = xmlReader.GetAttribute("name"); 
    } 
} 

如何投 「關鍵字」 作爲一個String []?

回答

1

這取決於。

如果你的XML有一個name屬性包含多個關鍵字,請撥打String.Split,像這樣:

string[] keywords = xmlReader.GetAttribute("name").Split(' '); 

如果您有多個name屬性或Keyword元素,創造一個List<string>和循環往裏面放,像這樣:

List<string> keywords = new List<string>(); 
XmlReader xmlReader = XmlReader.Create("batch.xml"); 
while (xmlReader.Read()) { 
    //Keep reading 
    if (xmlReader.Name.Equals("Keyword") && (xmlReader.NodeType == XmlNodeType.Element)) 
     keywords.Add(xmlReader.GetAttribute("name")); 
} 

如果你真的需要一個string[],您可以撥打keywords.ToArray()

+0

我終於擊中了10K!謝謝Mohit。 – SLaks 2009-11-04 01:54:19

0

由於您使用的是XmlReader,因此無法一次擁有所有節點。您需要創建一個List<string>集合,填充並返回它。