Ich bin mitXDocument.Parse Erfolg oder Fehler?
XDocument doc = XDocument.Parse(somestring);
Aber wie validieren ich, wenn die Zeichenfolge somestring
eine gut gebildete XML ist. Ist Try Catch
der einzige Weg, dies zu tun?
Ich bin mitXDocument.Parse Erfolg oder Fehler?
XDocument doc = XDocument.Parse(somestring);
Aber wie validieren ich, wenn die Zeichenfolge somestring
eine gut gebildete XML ist. Ist Try Catch
der einzige Weg, dies zu tun?
Ist Versuch Catch der einzige Weg, dies zu tun?
Es gibt keine TryParse
Methode für XDocument
, so try-catch
ist wahrscheinlich die beste Wahl. Überlegen Sie auch, ob Sie Ihr XML-Dokument gegen ein Schema validieren, da es nicht nur prüft, ob das XML wohlgeformt ist, sondern auch nach Einschränkungen sucht.
Sie sehen können: Validation Against XML Schema (XSD) with the XmlValidatingReader
Link hat sich geändert - bearbeitet FYI. – simonalexander2005
@ simonalexander2005, danke für die Bearbeitung – Habib
Wenn Sie nur überprüfen müssen, ob das Dokument wohlgeformt ist, ist der schnellste Weg XmlReader wie folgt zu verwenden:
var isWellFormedXml = true;
try
{
using (var reader = XmlReader.Create(stream)) // can be a mem stream for string validation
{
while (reader.Read()) {}
}
}
catch
{
isWellFormedXml = false;
}
diese Weise können Sie nicht tun Speicher für XDocument DOM ausgeben. BTW, XDocument.Parse() verwendet XmlReader für die Verarbeitung von XML, sodass die Ausnahmen identisch sind, wenn Sie sie analysieren müssen.
Es wird angenommen, dass XML-Dokumente immer gut formatiert sind, da sie normalerweise maschinell erzeugt werden. Ausnahmen von dieser Regel werden gemeldet, na ja, Ausnahmen :) –