2014-05-07 4 views
0

J'ai eu ce xml:C# XDocument format XML

<cats> 
    <cat> 
     <name>funycat_00</name> 
     <category>funy</category> 
     <link>/data/funy/funy_cat00</link> 
    </cat> 
    <cat> 
     <name>funycat_01</name> 
     <category>funy</category> 
     <link>/data/funy/funy_cat01</link> 
    </cat> 
    <cat> 
     <name>funycat_02</name> 
     <category>funy</category> 
     <link>/data/funy/funy_cat02</link> 
    </cat> 
    <cat> 
     <name>funycat_03</name> 
     <category>funy</category> 
     <link>/data/funy/funy_cat03</link> 
    </cat> 
</cats> 

Ma classe:

 private string _title; 

     public string Title 
     { 
      get { return _title; } 
      set { _title = value; } 
     } 

     private string _picture; 

     public string Picture 
     { 
      get { return _picture; } 
      set { _picture = value; } 
     } 

     private string _category; 
     public string Category 
     { 
      get { return _category; } 
      set { _category = value; } 
     } 

     private List<Catpict> _listpict; 
     public List<Catpict> Listpict 
     { 
      get { return _listpict;} 
      set { _listpict = value; } 
     } 

     public List<Catpict> feed() 
     { 
      Catpict tempcat = new Catpict(); 

      var reader = XDocument.Load("Data/DataFile.xml"); 
      IEnumerable<XElement> cats = reader.Elements(); 

      foreach (var cat in cats) 
      { 
       tempcat.Title = cat.Element("Name").Value; 
       Listpict.Add(tempcat); 
      } 
      return Listpict; 
     } 
    } 
} 

Le problème est l'analyse syntaxique de mon XML. Je veux envoyer dans ma collection Listpict tous les chats dans mon xml. La question peut-être stupide, et mon anglais est vraiment mauvais.

Si quelqu'un a une réponse pour moi, je suis totalement ouvert.

Catpic est le nom de ma classe.

+0

On ne sait pas ce 'Catpict' est ... peut vous fournir plus d'informations à ce sujet. – OmegaMan

+0

Utilisez XSD.EXE pour générer un schéma et XSD2Code pour générer des classes à partir de ce schéma, ce sera beaucoup plus facile pour vous. – Aybe

+0

Catpict est le nom de ma classe. Pardon. – Kyoume

Répondre

0

Je pense que vous voulez quelque chose comme ça ...

public static List<CatPict> feed() 
    { 
     CatPict tempcat = new CatPict(); 
     string xml = XDocument.Load("XMLFile1.xml").ToString(); 

     using (XmlReader reader = new XmlTextReader(new StringReader(xml))) 
     { 
      while (reader.Read()) 
      { 
       //put your logic here 
      } 
     } 
     return Listpict; 
    }