使用C#中的XMLReader获取文件属性

时间:2009-11-04 01:00:12

标签: c# xmlreader

我使用了XMLReader格式:


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 []?

2 个答案:

答案 0 :(得分: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()

答案 1 :(得分:0)

由于您使用的是XmlReader,因此您无法同时拥有所有节点。您需要创建一个List<string>集合,填充并返回它。