Ich habe ein Problem mit einem XDocument. Erstelle das XDocument, um ein XML zu analysieren, das von einem Webservice zurückgegeben wurde. Hier wird die xml istXDocument erhält keine Nachfolger, obwohl die gewählte existiert
<VentaOnlineList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/">
<VentasList>
<VentaOnlineInfo>
<ProcessDate>2010-11-01T00:00:00</ProcessDate>
<TicketDate>2010-11-01T00:00:00</TicketDate>
<DeliveryDate>2010-09-29T00:00:00</DeliveryDate>
<DwhLastMonthProcessData>0</DwhLastMonthProcessData>
<DwhLastMonthTicketDate>0</DwhLastMonthTicketDate>
<PsucLastMonthDeliveryDate>0</PsucLastMonthDeliveryDate>
<DwhSelectedMonthProcessData>-6.54</DwhSelectedMonthProcessData>
<DwhSelectedMonthTicketDate>-6.54</DwhSelectedMonthTicketDate>
<PsucSelectedMonthDeliveryDate>-6.54</PsucSelectedMonthDeliveryDate>
<DwhNextMonthProcessData>0</DwhNextMonthProcessData>
<DwhNextMonthTicketDate>0</DwhNextMonthTicketDate>
<PsucNextMonthDeliveryDate>0</PsucNextMonthDeliveryDate>
</VentaOnlineInfo>
</VentasList>
<Error>
<ErrorFlag>false</ErrorFlag>
</Error>
</VentaOnlineList>
jetzt, wenn ich versuche, die Nachkommen nennen können sagen, von „VentaOnlineInfo“, heißt es, dass seine leer.
hier ist der Code
XDocument xmlSell = XDocument.Parse(xmlContent);
XNamespace nameSpace = "http://tempuri.org/";
var venta = from ventas in xmlSell.Descendants(nameSpace + "VentaOnlineInfo")
select new VentaDigital
{
ProcessDate = (DateTime)ventas.Attribute("ProcessDate"),
TicketDate = (DateTime)ventas.Attribute("TicketDate"),
DeliveryDate = (DateTime)ventas.Attribute("DeliveryDate")
};
ventasDigitales.ItemsSource = venta;
xmlContent seine mit einem String gefüllt, die den XML-Code enthält.
Jemand weiß, warum es sagt, dass die Nachkommen nicht existieren? Jede Hilfe wird geschätzt
Es kann ein Fehler sein, aber es scheitert immer noch. Es löst keine Ausnahme aus, aber es füllt nicht das Datagrid-Nethier. – ShinyDarkStone
Ich habe ein paar weitere Probleme gefunden, siehe meine bearbeitete Antwort. Ich habe es in LinqPAD versucht und es hat mit diesen Änderungen funktioniert. –
Sie können * zu DateTime umwandeln. Es gibt eine explizite Konvertierung. –