login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > ASP

xml lezen

LLMM – 27/05/2010 17:16 (Laatst gewijzigd op 27/05/2010 18:37)
hoi mijn xml

  1. <zoekactie>
  2. <query name="Languages">
  3. bla .. bla
  4. </query>
  5. <query name="Competences" >
  6. bloe .. bloe
  7. </query>
  8. <query name="Software skills">
  9. blax .. blax
  10. </query>
  11. </zoekactie>


Hoe moe ik de <query name="Software skills"> lezen? Ik kan de query lezen maar de naam van de query niet. Dit is wat ik heb:

  1. XmlDocument doc = new XmlDocument();
  2. String filename = Server.MapPath("config.xml");
  3. doc.Load(filename);
  4. XmlNodeList qryList = doc.GetElementsByTagName("zoekactie");
  5.  
  6. foreach (XmlNode node in qryList)
  7. {
  8. XmlElement bookElement = (XmlElement)node;
  9. string qry= bookElement.GetElementsByTagName("query")[0].InnerText;
  10. string naam= "";
  11.  
  12. if (bookElement.HasAttributes)
  13. {
  14. naam= bookElement.SelectSingleNode("@name").Value;
  15. }
  16. Console.WriteLine("{0} ({1}) is written by {2}\n", qry, naam);
  17. }


4 antwoorden

Gesponsorde links

titjes – 27/05/2010 18:43
Codetags gebruiken!!!

Dit kan misschien helpen: http://forums.asp.net/t/1097714.aspx

LLMM – 28/05/2010 10:30
bedankt voor je reactie
de link was interessant maar het meeste had ik al enkel juist de laatste vraag .... maar daar is geen antwoord op  


Maarten – 28/05/2010 11:35 (Laatst gewijzigd op 28/05/2010 12:20)
Je kan via SelectSingleNode("//query[@name='Software skills']") een bepaalde node selecteren op basis van attribuut (zie XPATH syntax).

Die // houdt in dat je vanaf je object waarop je het aanroept vertrekt, en overal eronder zoekt.

Ik zou je een stuk voorbeeld geven maar de server waarop ik gisteren iets gelijkaardigs ontwikkelde is zonet gecrasht en in 'behandeling' 

edit: w00t, heb nog stukje lokaal group.Id is gewoon een string in dit geval.
  1. // Find associated plugins
  2. XmlNodeList plugins = pluginRegisterXML.SelectNodes("//Step[@PluginGroupId='" + group.Id + "']");
  3. foreach (XmlNode plugin in plugins)
  4. {
  5. // Doet iets met die node hier
  6. }



edit 2: excuseer, had de vraag mis begrepen... zoals hieronder gezegd moet je inderdaad het attribuut hebben -> als je een node hebt kan je gewoon mijnNode.Attributes["naamvanhetattribuut"].Value opvragen. Wel even checken op null best.

  1. XmlDocument doc = new XmlDocument();
  2. doc.Load(Server.MapPath("config.xml"));
  3.  
  4. XmlNodeList queries = doc.GetElementsByTagName("query");
  5.  
  6. foreach (XmlNode query in queries)
  7. {
  8. string name = "";
  9. if (query.Attributes["name"] != null)
  10. {
  11. name = query.Attributes["name"].Value;
  12. }
  13. Console.WriteLine("{0} ({1}) is written by {2}\n", query.InnerText, name);
  14. }


Ontani – 28/05/2010 11:51
Volgens mij zoek je de getAttribute functie.

Gesponsorde links

Dit onderwerp is gesloten.
Actieve forumberichten:

© 2002-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.052s