Einzelnen Beitrag anzeigen

Sascha L

Registriert seit: 4. Jun 2004
Ort: Hamm
390 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Mit XPath Knoten auswählen liefert alle Knotenwerte

  Alt 9. Mai 2008, 23:06
Ja dass du mit .NET und C# arbeitest, ist mir klar.

Aber da selektiert man mit XPATH die Nodes oder den Node, die/den man haben will und arbeitet sich dann mit foreach durch die Nodelist


Folgender Code ist absolut sicher, egal wie die XML-Datei aussieht:

Code:
string name = "Testkategorie 1";
            XmlDocument XMLDoc = new XmlDocument();
            XMLDoc.LoadXml(textBox1.Text);
            List<ProductItem> prodList = new List<ProductItem>();
            XmlNodeList NodeList = XMLDoc.SelectNodes("//Catalog/Categories/Category[@name=\"" + name + "\"]/items/item");
            foreach (XmlNode ItemNode in NodeList)
            {
                ProductItem prodItem = new ProductItem();
                XmlNode NodeAttr = ItemNode.Attributes.GetNamedItem("name");
                if (NodeAttr != null)
                {
                    prodItem.Name = NodeAttr.Value;
                }
                foreach (XmlNode ItemChildNode in ItemNode.ChildNodes)
                {
                    switch (ItemChildNode.Name)
                    {
                        case "shortdescription": prodItem.ShortDescription = ItemChildNode.InnerText; break;
                        case "longdescription": prodItem.LongDescription = ItemChildNode.InnerText; break;
                        case "itemIdentifier": prodItem.ItemIdentifier = ItemChildNode.InnerText; break;
                    }
                }
                prodList.Add(prodItem);
               
            }
da ich den Code selbst getestst habe, sind im Code einige Dinge, die ich dafür benötigt habe (textbox1, usw.)
Sascha
  Mit Zitat antworten Zitat