我正在使用多个
为此,我有3个单独的
从MSDN页面上看,
在没有先验证整个
或者,我应该让业务层在应用程序中处理模式验证,并让库假定
XElement
对象来为我的库中的多个对象提供一些用户指定的数据。我试图避免指定整个XML文件的结构,因为只要所需的特定元素被正确地结构化,库就不关心整个XML的外观。为此,我有3个单独的
XSD
文件,分别定义了我的类所需的每个XElement
的模式,但是我在验证XElement与模式时遇到了一些问题。似乎没有方法可以在没有解决方法的情况下执行此操作。从MSDN页面上看,
XElement.Validate()
扩展方法似乎是针对重新验证较大文件的子元素的。 XmlSchemaObject
参数导致我的问题,因为我不能假设它将存在于任何XElements
中。我认为我可以通过从我的XmlSchemaSet
中获取XmlSchemaElement
作为XmlSchemaObject
参数来解决这个问题,但由于XmlSchemaSet
已经定义了所有内容,因此必须这样做似乎很奇怪。在没有先验证整个
XDocument
的情况下,是否有更好的选项来验证具有模式的XElement
?或者,我应该让业务层在应用程序中处理模式验证,并让库假定
XElement
已正确形成(我考虑了这个选项,但作为个人喜好,我更喜欢避免抛出异常,而是通过返回参数告诉调用方法XElement
无效)。
XElement.Validate()
扩展方法中。现在你这么说,似乎很合理。创建一个XDocument
是另一个好主意,本应该也想到它(我花了太多时间试图找出如何转换它,错过了显而易见的解决方案)。我会尝试两种方法,看看哪个更好。 - psubsee2003