ade*_*ena 34 c# xml linq-to-xml
我正在使用以下内容在C#应用程序中加载XML文档:
XDocument xd1 = new XDocument();
xd1 = XDocument.Load(myfile);
Run Code Online (Sandbox Code Playgroud)
但在此之前,我会测试以确保文件存在:
File.Exists(myfile);
Run Code Online (Sandbox Code Playgroud)
但是......是否有一种(简单)方法在XDocument.Load()之前测试文件以确保它是一个有效的XML文件?换句话说,我的用户可能会意外地在文件浏览器中单击另一个文件并尝试加载,例如,.php文件会导致异常.
我能想到的唯一方法是将它加载到StreamWriter中并简单地对前几个字符进行文本搜索,以确保它们"
谢谢!
-Adeena
Jen*_*fer 43
如果要向用户显示消息,可能只是值得捕获特定的异常:
try
{
XDocument xd1 = new XDocument();
xd1 = XDocument.Load(myfile);
}
catch (XmlException exception)
{
ShowMessage("Your XML was probably bad...");
}
Run Code Online (Sandbox Code Playgroud)
Dim*_*hev 28
根据定义,有效的xml文档是一个格式良好的文档.此外,它必须满足DTD或模式(xml模式,relaxng模式,schematron或其他约束)才有效.
从问题的措辞来看,很可能它会问:
"如何确保文件包含格式良好的XML文档?".
答案是,如果XML文档可以通过兼容的XML解析器成功解析,那么它就是格式良好的.由于XDocument.Load()方法正是这样做的,因此您只需要捕获异常,然后得出结论文件中包含的文本格式不正确.
| 归档时间: |
|
| 查看次数: |
38881 次 |
| 最近记录: |