none
请微软工程师参与,c#能否实现通过xsd文件校验xml文件时,把xml文件中缺少的所有节点都找出来,谢谢 RRS feed

  • 问题

  • 我使用XmlReaderSettings和XmlValidatingReader进行xml与xsd文件校验时,发现当xml结点缺少时,只能显示第一个缺少的结点,请问如何能把缺少的所有结点全部返还出来?谢谢
    2011年8月18日 9:27

全部回复

  • 能贴点代码吗?

    可能是逻辑上的问题。


    Best Regards,
    Rocky Yue[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年8月19日 7:54
    版主
  •   XmlReaderSettings Settings = new XmlReaderSettings();
                Settings.Schemas.Add(xmlNameSpace, xsdPath);
                Settings.ValidationType = ValidationType.Schema;
               
                Settings.ValidationEventHandler += new ValidationEventHandler(SettingsValidationEventHandler);

                XmlReader xr = XmlReader.Create(xmlPath, Settings);

                while (xr.Read()) { }

     

     private void SettingsValidationEventHandler(object sender, ValidationEventArgs e)
            {
                          
                if (e.Severity == XmlSeverityType.Warning)
                {
                   
                        this.textBox3.AppendText(Number.ToString() + "|" + "警告: " + e.Message.Replace(xmlNameSpace + @":", "") + "\r\n");
                   
                }
                else if (e.Severity == XmlSeverityType.Error)
                {
                   
                        this.textBox3.AppendText(Number.ToString() + "|" + "错误: " + e.Message.Replace(xmlNameSpace + @":", "") + "\r\n");
                   
                }
            }

    2011年8月22日 1:27
  • 麻烦帮忙看看,谢谢

    2011年8月22日 1:29
  • 可以看看schema 是怎么写的吗? 


    Best Regards,
    Rocky Yue[MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.


    2011年8月22日 5:28
    版主