I
Hallo KPC,
das Problem ist, dass vom Debugger das Ganze:
test.Element("logs").Add(
new XElement(xmlns2 + "log",
new XAttribute("id", cachedetails.logid[i]),
new XElement(xmlns2 + "date", cachedetails.logvisited[i]),
new XElement(xmlns2 + "type", cachedetails.logtype[i]),
new XElement(xmlns2 + "finder", cachedetails.loggingusername[i],
new XAttribute("id", cachedetails.logginguserid[i])),
new XElement(xmlns2 + "text", cachedetails.logtext[i],
new XAttribute("encoded", cachedetails.logisencoded[i])),
new XElement(xmlns2 + "log_wpt",
new XAttribute("lat", cachedetails.loglatitude[i]),
new XAttribute("lon", cachedetails.loglongitude[i]))));
nur als eine Codezeile angesehen wird. Daher kann ich nicht sagen, an welchem Objekt es jetzt genau liegen könnte, aber an den Arrays kanns nicht liegen: Alle sind genau 25 Elemente groß und außerdem zeigt er den Fehler schon beim ersten Durchlauf der Schleife, d.h. wenn i = 0 ist.
Für mich sieht es am ehesten so aus, dass er das Element "logs" nicht finden kann, obwohl es ja vorher initialisiert wurde. Oder muss es etwa irgendwelche Unterelemente geben, damit das Element erkannt wird?
Es könnte möglicherweise auch an dem Namespace liegen, dass ich vorher definiert hatte (xmlns2), dass er deswegen das Element nicht findet...
LG, Ialokim
EDIT: Es klappt nun doch! Es lag wirklich an den Namespaces und daran, dass ich alle Ober-Elemente angeben musste