Senast redigerat
Visa signatur
På tok för många datorer för att skriva här
Löst: Bytte continue till break
Inte mitt hemmaspråk det här med c#, har en class där jag loopar i en xml fil för att göra vissa konfigurationer. Men det vill sig inte riktigt.
foreach (XmlNode unNodo in xmlRSSPolicy.DocumentElement.GetElementsByTagName("CodeGroup"))
{
infoBox.Text += ", 5:5";
if (unNodo.Attributes[0].Value == "FirstMatchCodeGroup" && unNodo.Attributes[1].Value == "1" && unNodo.Attributes[2].Value == "Nothing")
{
infoBox.Text += ", 5:6";
XmlNode xNode1 = xmlRSSPolicy.CreateNode(XmlNodeType.Element, "CodeGroup", null);
XmlAttribute nAttr1;
nAttr1 = xmlRSSPolicy.CreateAttribute("class");
nAttr1.Value = "UnionCodeGroup";
xNode1.Attributes.Append(nAttr1);
unNodo.AppendChild(xNode1);
continue;
}
}
Har kortat det lite ovan, jag får nästan alltid träff på första vändan och hamnar i if-satsen. Men eftersom jag då uppdaterar så ballar den ur nästa varv jag kommer till foreachen då den säger att elementlistan har ändrats.
continue; hade jag för mig skulle bryta foreachen....
Min catch fångar upp. "Uppräkningsåtgärden avbröts eftersom elementlistan ändrades"
Jag vill ju ha en foreach då det kan ligga många codegroup-element där.
Som nödlösning skickar jag ut noden i en ny nod utanför och om noden är satt gör ändringar där... Men vill veta hur jag borde göra.
Tackar på förhand
På tok för många datorer för att skriva här
Copyright © 1999–2023 Geeks AB. Allt innehåll tillhör Geeks AB.
Citering är tillåten om källan anges.