我在用
XDocument doc = XDocument.Parse(somestring);
Run Code Online (Sandbox Code Playgroud)
但是,如何验证字符串somestring是否是格式良好的XML.这Try Catch是唯一的方法吗?
Hab*_*bib 15
Try Catch是唯一可以做到这一点的方法吗?
没有TryParse方法XDocument,所以try-catch可能是最好的选择.还要考虑针对模式验证XML,因为它不仅会检查XML是否格式正确,还会检查约束.
您可能会看到:使用XmlValidatingReader验证XML Schema(XSD)
如果您只需要检查文档是否格式正确,最快的方法是使用XmlReader,如下所示:
var isWellFormedXml = true;
try
{
using (var reader = XmlReader.Create(stream)) // can be a mem stream for string validation
{
while (reader.Read()) {}
}
}
catch
{
isWellFormedXml = false;
}
Run Code Online (Sandbox Code Playgroud)
这样您就不会为XDocument DOM花费内存.BTW,XDocument.Parse()使用XmlReader处理XML,因此如果需要分析它们,则异常是相同的.
| 归档时间: |
|
| 查看次数: |
5010 次 |
| 最近记录: |