2009-11-04 20 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>集合,填充并返回它。