Zitat von
Khabarakh:
Wer sagt, foreach funktioniere nur mit XmlDocument
? Hier eine etwas schönere Variante meines Codes:
Code:
static void XPathDoc()
{
var productList = new List<ProductItem>();
var nav = new XPathDocument(new StringReader(
xml)).CreateNavigator();
foreach (XPathNavigator itemNav in nav.Select("/Catalog/Categories/Category[@name=\"" + name + "\"]/items/*")) {
ProductItem prodItem = new ProductItem {
Name = itemNav.GetAttribute("name", ""),
ShortDescription = itemNav.SelectSingleNode("shortdescription").Value,
LongDescription = itemNav.SelectSingleNode("longdescription").Value,
ItemIdentifier = itemNav.SelectSingleNode("itemIdentifier").Value,
};
productList.Add(prodItem);
}
}
Den Code könnte man natürlich auch auf das Element-fehlt-Handling von dir umstellen, aber das muss Luckie wissen.
Jupp, die wird benötigt. Ich habe das jetzt mal auf deinen obigen Code umgestellt. Wie kann ich da reagieren, wenn ein Element fehlt?