BenXDocument.Parse Success veya Failure?
XDocument doc = XDocument.Parse(somestring);
kullanarak Ama nasıl yapmak dize somestring
iyi oluşturulmuş bir XML olup olmadığını doğrulamak ediyorum. Bunu yapmanın tek yolu Try Catch
mu?
BenXDocument.Parse Success veya Failure?
XDocument doc = XDocument.Parse(somestring);
kullanarak Ama nasıl yapmak dize somestring
iyi oluşturulmuş bir XML olup olmadığını doğrulamak ediyorum. Bunu yapmanın tek yolu Try Catch
mu?
Bunu yapmanın tek yolunu mu deneyin?
Orada XDocument
için herhangi TryParse
yöntemdir, bu nedenle try-catch
muhtemelen en iyi bahistir. Ayrıca XML'inizin bir şemaya göre doğrulanmasını da düşünün, çünkü yalnızca XML'in iyi oluşturulmuş olup olmadığını değil, aynı zamanda kısıtlamaları da kontrol edip etmediğini kontrol etmeyecektir.
Sen görebilirsiniz:
var isWellFormedXml = true;
try
{
using (var reader = XmlReader.Create(stream)) // can be a mem stream for string validation
{
while (reader.Read()) {}
}
}
catch
{
isWellFormedXml = false;
}
değil mi Bu şekilde: Validation Against XML Schema (XSD) with the XmlValidatingReader
link değiştirildi - düzenlenmiş FYI. – simonalexander2005
@ simonalexander2005, düzenleme için teşekkürler – Habib
yalnızca Belgenin doğru biçimlendirilmiş olup olmadığını kontrol etmek gerekiyorsa, en hızlı şekilde aşağıdaki gibi XmlReader kullanmaktır XDocument DOM için bellek harcayın. BTW, XDocument.Parse(), XML'i işlemek için XmlReader'ı kullanır, dolayısıyla bunları analiz etmeniz gerekirse, istisnalar aynıdır.
XML belgelerinin normalde makine tarafından oluşturulduğundan, her zaman iyi biçimlendirilmiş olduğu varsayılır. Bu kuralın istisnaları, iyi istisnalar tarafından rapor edilir :) –