我正在处理一些在运行时加载xml文件的代码。目前,我们使用XmlDocument类型读取xml文件,并在SelectSingleNode语句周围包装try-catch(这是为了防止节点为空或不存在,因为我们解析用户创建的xml文件)。
请注意:我知道XmlDocument已被XDocument替换。然而,由于我们使用的是.NET版本3(根据此MSDN文档,.NET 3中没有XDocument),我们现在必须坚持使用XmlDocument。我们出于各种原因使用.NET 3(其中一些与规范相关)。
以下是我们目前的一个示例:
显然上面的例子只是一个示范,我简化了catch语句。 我编写了一个用户生成的XML文件的模式,这个应用程序将使用它,并且我想知道在解析XML文档时是否使用模式(以某种方式),还需要将每个SelectSingleNode都包装在try-catch语句中吗? 是否有可能在解析过程中使用模式(以某种方式)来检查XML文档是否具有正确的格式和所有必需的元素?
请注意:我知道XmlDocument已被XDocument替换。然而,由于我们使用的是.NET版本3(根据此MSDN文档,.NET 3中没有XDocument),我们现在必须坚持使用XmlDocument。我们出于各种原因使用.NET 3(其中一些与规范相关)。
以下是我们目前的一个示例:
private void LoadUserXMLFile ()
{
XmlDocument xDoc = new XmlDocument();
XmlTextReader reader = new XmlTextReader(fileName);
reader.Read();
xDoc.Load(reader);
try { firstElementString = xDoc.SelectSingleNode(<path to node>).InnderText);
catch { <exception handling here > }
//more SelectSingleNode statements, each wrapped inside
//individual try-catch blocks
}
显然上面的例子只是一个示范,我简化了catch语句。 我编写了一个用户生成的XML文件的模式,这个应用程序将使用它,并且我想知道在解析XML文档时是否使用模式(以某种方式),还需要将每个SelectSingleNode都包装在try-catch语句中吗? 是否有可能在解析过程中使用模式(以某种方式)来检查XML文档是否具有正确的格式和所有必需的元素?