XML Lesen wiederholen child-Elemente mit demselben Namen wie parent c#
Habe ich xml-Daten in folgenden format:
<rows>
<rows>
<primitiveValue>000</primitiveValue>
</rows>
<rows>
<primitiveValue>58316</primitiveValue>
</rows>
<rows>
<primitiveValue>133083.0</primitiveValue>
</rows>
</rows>
<rows>
<rows>
<primitiveValue>001</primitiveValue>
</rows>
<rows>
<primitiveValue>66018</primitiveValue>
</rows>
<rows>
<primitiveValue>172546.0</primitiveValue>
</rows>
</rows>
Muss ich das aufsplitten der Daten pro Eltern-element der Zeilen, aber nicht wissen, wie dies zu tun.
Ich habe versucht den code unter, aber diese Schlaufen durch jede Instanz von Zeilen und verursacht Doppelarbeit.
string Values = "";
foreach (XElement element in xDoc.Descendants("rows"))
{
foreach (XElement childElement in element.Descendants("rows").Elements("primitiveValue"))
{
Values = Values + "," + childElement.Value.ToString();
}
}
Kann jemand helfen, bitte?
Können Sie ändern die xml überhaupt? Wenn dem so ist, wäre es gut beraten, Sie zu machen
nee ich kann nicht, wie es kommt von einem google-analytics-api. wird er wieder automatisch in JSON und dann habe ich es konvertieren in XML, wie ich will, zu verwenden, ein Prozess, den ich bereits eingerichtet haben, importieren von xml-Daten pro Zeile in eine SQL-Server-DB
Wenn das der Fall ist, schlage ich vor, Sie schauen in das JSON.net für die Konvertierung von JSON zu XML, anstatt Ihre eigenen Rollen.
hab ich auch schon benutzt JSON.net konvertieren von JSON zu dieser in der XML. Das obige fragment ein Teil des konvertierten XML-Dokument
<rows><row/><row/></rows>
statt alles Zeilen.nee ich kann nicht, wie es kommt von einem google-analytics-api. wird er wieder automatisch in JSON und dann habe ich es konvertieren in XML, wie ich will, zu verwenden, ein Prozess, den ich bereits eingerichtet haben, importieren von xml-Daten pro Zeile in eine SQL-Server-DB
Wenn das der Fall ist, schlage ich vor, Sie schauen in das JSON.net für die Konvertierung von JSON zu XML, anstatt Ihre eigenen Rollen.
hab ich auch schon benutzt JSON.net konvertieren von JSON zu dieser in der XML. Das obige fragment ein Teil des konvertierten XML-Dokument
InformationsquelleAutor Alistair McIntyre | 2013-01-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sehr einfach mit
System.Xml.XPath.Extensions
:Werte
IEnumerable<double>
mit den Werten primitiveValue Elemente. Und das Ergebnis wird sein, verkettete Zeichenfolge aller Werte. BTW Sie sind fehlende root-element in Ihrem xml.UPDATE
Zurückkehren Sequenz von strings, jeder string enthält die verketteten Werte des inneren Reihen. Wenn Sie brauchen, raw-strings anstelle von double-Werten, dann warf value-Knoten zu string.
sorry, habe nicht bekommen, was Sie zu tun versuchen. Mit Ihrem Beispiel-xml-code zurückgegeben string mit allen Werten
0,58316,133083,1,66018,172546
kein problem. weißt du, wie ich bekommen kann es pro Zeile?
siehe mein update
funktioniert! vielen Dank 🙂
InformationsquelleAutor Sergey Berezovskiy
Nachkommen finden sich alle Knoten mit dem Namen, den Sie suchen, unabhängig davon, wie weit unten in der XML-Baumstruktur, die Sie sind. Experimentieren Sie mit so etwas wie dies:
Der Schlüssel ist, dass Kinder sollten nur Knoten, die direkt unter dem root-element im Gegensatz zu einer Suche die gesamte Struktur des XML-Dokuments für die passenden Elemente.
InformationsquelleAutor Jesse Carter