Wie kann man überprüfen, ob ein bestimmtes Element in einer XML-Datei vorhanden ist? Angenommen, ich habe eine sich ständig ändernde XML-Datei und muss vor dem Lesen/Parsen überprüfen, ob jedes Element vorhanden ist.
Antworten
Zu viele Anzeigen?
Jiving Rockabilly
Punkte
167
Ich bin gerade auf das gleiche Problem gestoßen und die Nullkoalitionsoperator con SelectSingleNode hat gut funktioniert, indem null mit string.Empty zugewiesen wurde
foreach (XmlNode txElement in txElements)
{
var txStatus = txElement.SelectSingleNode(".//ns:TxSts", nsmgr).InnerText ?? string.Empty;
var endToEndId = txElement.SelectSingleNode(".//ns:OrgnlEndToEndId", nsmgr).InnerText ?? string.Empty;
var paymentAmount = txElement.SelectSingleNode(".//ns:InstdAmt", nsmgr).InnerText ?? string.Empty;
var paymentAmountCcy = txElement.SelectSingleNode(".//ns:InstdAmt", nsmgr).Attributes["Ccy"].Value ?? string.Empty;
var clientId = txElement.SelectSingleNode(".//ns:OrgnlEndToEndId", nsmgr).InnerText ?? string.Empty;
var bankSortCode = txElement.SelectSingleNode(".//ns:OrgnlEndToEndId", nsmgr).InnerText ?? string.Empty;
//TODO finish Object creation and Upsert DB
}
fredm73
Punkte
197
Mir Saleem
Punkte
1
//Ich finde den Kindknoten ERNO an 2. und letzter Stelle
If StrComp(xmlnode(i).ChildNodes.Item(xmlnode(i).ChildNodes.Count - 1).Name.ToString(), "ERNO", CompareMethod.Text) = 0 Then
xmlnode(i).ChildNodes.Item(xmlnode(i).ChildNodes.Count - 1).InnerText = c
Else
elem = xmldoc.CreateElement("ERNo")
elem.InnerText = c.ToString
root.ChildNodes(i).AppendChild(elem)
End If
- See previous answers
- Weitere Antworten anzeigen