Avatar billede exposure Nybegynder
05. januar 2007 - 13:45 Der er 1 løsning

XML schema og complex typer

Hej Alle

Har lavet et lille program til redigering af konfigurations filer. Nu vil jeg så gerne checke om der i Xml Schema'et findes en enum til en bestem værdi og lave en combobox som brugeren kan vælge fra, hvis han gerne vil redigere i xml filen.

Hvordan kommer jeg ind i xsd og henter en enum ud?
Avatar billede exposure Nybegynder
05. januar 2007 - 16:21 #1
Har selv fundet ud af det. Har lavet en lille funktion til et hvis nogen skulle være interesseret. Man skal huske at validere ens xml document før dette virker.

        private void CreateDropDown(IXmlSchemaInfo info)
        {
            // if xml document is valid
            if (info.Validity != XmlSchemaValidity.NotKnown)
            {
                // get Schema type name
                string type = info.SchemaType.Name;

                // if the elemet has any type
                if (type != null)
                {
                    //Get Schema type
                    XmlSchemaSimpleType simpleType = (XmlSchemaSimpleType)info.SchemaType;
                    // get restriction from schema type
                    XmlSchemaSimpleTypeRestriction rest = (XmlSchemaSimpleTypeRestriction)simpleType.Content;
                    // get facets
                    XmlSchemaObjectCollection coll = rest.Facets;

                    // test to see if the collection is an enumeration
                    XmlSchemaEnumerationFacet facet = coll[0] as XmlSchemaEnumerationFacet;
                    if (facet != null)
                    {
                        foreach (XmlSchemaFacet o in coll)
                        {
                            // create list
                        }
                    }
                }
            }
        }
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester