Avatar billede el_fredo Praktikant
09. juni 2008 - 15:02 Der er 1 løsning

Parsing af XSD-fil

Hej.
Jeg skal have parset en XSD fil så den overholder OIO-standarden. Det vil sige, at alle simple typer skal trækkes ud og lægges i separate filer. Derudover skal de komplekse typer også lægges i separate filer og samtidigt referere til de simple typer som også bliver oprettet.

Det er naturligvis i sig selv et problem at få lavet mekanikken der kan tage en vilkårlig XSD-fil og så parse den fra A-Z. Undervejs vil den jo støde på elementer som allerede er oprettet som reference types. Et andet problem er når en kompleks type indeholder andre komplekse typer...

Alt dette skal jeg nok hitte ud af (håber jeg) men jeg mangler imidlertid et godt værktøj - altså kodemæssigt - til at bladre min XSD fil igennem. Jeg bruger XPath og regner med at lave en løsning der bruger recursion til at parse i dybden (jeg kender ikke på forhånd dybden af XSD-filens elementer). For at bruge recursion skal jeg sende Child-elements med ser det ud til.

Jeg starter ud med:

---

XPathDocument xpDocument = new XPathDocument(@"C:\XmlParserSource.xsd");
XPathNavigator xpNavigator = xpDocument.CreateNavigator();

XmlNamespaceManager xNamespaceManager = new XmlNamespaceManager(xpNavigator.NameTable);

xNamespaceManager.AddNamespace("xs", "http://www.w3.org/2001/XMLSchema");

XPathNodeIterator xpNodeIterator = xpNavigator.Select("/*/xs:element", xNamespaceManager);

---

Så burde jeg være klar til at bladre min Iterator igennem med MoveNext og xpNodeIterator.Current etc. Jeg mangler blot lidt hjælp til at komme i gang... En tutorial på området ville være super, men jeg har ikke kunnet finde en eneste der omhandlede emnet. Det specielle ved det jeg skal have udført er, at de forskellige typer skal extractes og puttes i separate filer. Og naturligvis problematikken omkring korrekt gennemløb af Children...
Avatar billede el_fredo Praktikant
01. juli 2008 - 15:49 #1
Svar
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



Seneste spørgsmål Seneste aktivitet
I dag 10:28 PDFEngine Af barth i Andet software
I går 22:40 Butte indhold i celler Af lurup i Excel
I går 15:24 Power Query Af djsimonsen i Excel
I går 14:43 Hvis ikke på liste, tilføj værdier til liste Af TheLibrarian i Excel
I går 11:33 Windows 11 Af ranni i Windows