C#验证Xdocument文件

时间:2016-03-05 09:48:36

标签: c# xml wpf xelement

我需要在没有Xsd的情况下使用Xdocument验证选定的Xml文件。 我有一个名为“Cheker”的文件和要检查的文件。 例如,我需要比较检查器文件中的层次结构以及名称中的元素数量。 如果我在“检查器”文件3页面我需要chek在所选文件中没有更多。 我尝试使用数组,但是这样复杂得多 谢谢!!

            XElement pageElement = metadataFile.Root.Element("Pages");
            int cntPage = ((IEnumerable<XElement>)pageElement.Elements()).Count();
            if (cntPage < 1 || cntPage > 3) errorDetails += "Number of Pages wrong!!";

1 个答案:

答案 0 :(得分:0)

Elements() already returns IEnumerabl<XElement>。因此,代码第二行的显式强制转换是不必要的:

int cntPage = pageElement.Elements().Count();

这里使用哪种样式是首选项,但整个代码段可以重写为:

int cntPage = metadataFile.Root
                          .Element("Pages")
                          .Elements()
                          .Count();
if (cntPage < 1 || cntPage > 3) 
    errorDetails += "Number of Pages wrong!!";