C# 验证 Xdocument 文件



我需要在没有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!!";

Elements()已经返回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!!";

最新更新