2009-11-04 4 views
1

J'ai utilisé le format XMLReader:Obtenir les attributs de fichier avec XMLReader en 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"); 
    } 
} 

Comment puis-je CAST "mots-clés" comme String []?

Répondre

1

Cela dépend.

Si votre XML a un seul attribut name qui contient plusieurs mots-clés, appelez String.Split, comme ceci:

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

Si vous avez plusieurs name attributs ou Keyword éléments, créez un List<string> et le remplir dans une boucle , comme ceci:

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")); 
} 

Si vous avez vraiment besoin d'un string[], vous pouvez appeler keywords.ToArray().

+0

J'ai finalement atteint 10K! Merci Mohit. – SLaks

0

Étant donné que vous utilisez un XmlReader, vous ne pouvez pas avoir tous les nœuds à la fois. Vous devez créer une collection List<string>, la remplir et la renvoyer.

Questions connexes