Example #1
0
        static void Main(string[] args)
        {
            // Create a cache of schemas, and add two schemas
            XmlSchemaCollection list = new XmlSchemaCollection();

            list.Add("", "../../Schemas/iPhone.xsd");

            // Create a validating reader object
            XmlTextReader       textReader  = new XmlTextReader("../../Schemas/iPhone.xml");
            XmlValidatingReader validReader = new XmlValidatingReader(textReader);

            validReader.ValidationType = ValidationType.Schema;
            validReader.Schemas.Add(list);

            // Register a validation event handler method
            validReader.ValidationEventHandler += new ValidationEventHandler(myEventHandler);

            try
            {
                int count = 0;
                while (validReader.Read())
                {
                    //if (validReader.NodeType == XmlNodeType.Attribute && validReader.Name == "TradeName")
                    //{
                    //    string name = validReader.ReadContentAsString();
                    //    Console.WriteLine(name);
                    //}

                    if (validReader.NodeType == XmlNodeType.Element && validReader.LocalName == "Release-Date")
                    {
                        String value = validReader.ReadElementString();
                        Console.WriteLine("Release-Date: {0}", value);
                        if (value != null)
                        {
                            count++;
                        }
                    }
                }

                Console.WriteLine("\nNumber of models is counted: {0}\n", count);
            }
            catch (XmlException e)
            {
                Console.WriteLine("XmlException occured: " + e.Message);
            }
            finally
            {
                Console.ReadKey();
                validReader.Close();
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            // Create a cache of schemas, and add two schemas
            XmlSchemaCollection sc = new XmlSchemaCollection();

            sc.Add("urn:MyUri", "../../CompanySummaryNS.xsd");
            sc.Add("", "../../CompanySummary.xsd");

            // Create a validating reader object
            XmlTextReader       tr = new XmlTextReader("../../CompanySummaryWithXSDAndNS.xml");
            XmlValidatingReader vr = new XmlValidatingReader(tr);

            // Specify the type of validation required
            vr.ValidationType = ValidationType.Schema;

            // Tell the validating reader to use the schema collection
            vr.Schemas.Add(sc);

            // Register a validation event handler method
            vr.ValidationEventHandler +=
                new ValidationEventHandler(MyHandler);

            // Read and validate the XML document
            try
            {
                while (vr.Read())
                {
                    if (vr.NodeType == XmlNodeType.Element &&
                        vr.LocalName == "NumEmps")
                    {
                        int num;
                        num = XmlConvert.ToInt32(vr.ReadElementString());
                        Console.WriteLine("Number of employees: " + num);
                    }
                }
            }
            catch (XmlException ex)
            {
                Console.WriteLine("XMLException occurred: " + ex.Message);
            }
            finally
            {
                vr.Close();
            }
        }