login  Naam:   Wachtwoord: 
Registreer je!
 Forum

xml lezen

Offline LLMM - 27/05/2010 17:16 (laatste wijziging 27/05/2010 18:37)
Avatar van LLMMNieuw lid 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
Offline Abbas - 27/05/2010 18:43
Avatar van Abbas Gouden medaille

Crew .NET
Codetags gebruiken!!!

Dit kan misschien helpen: http://forums.asp.net/t/1097714.aspx
Offline LLMM - 28/05/2010 10:30
Avatar van LLMM Nieuw lid 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  

Offline Maarten - 28/05/2010 11:35 (laatste wijziging 28/05/2010 12:20)
Avatar van Maarten Erelid 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. }
Offline Ontani - 28/05/2010 11:51
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
Volgens mij zoek je de getAttribute functie.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.186s