Oprettelse og redigering af en XML-fil i Excel. Konverter til XML-format

En opgave viste sig at oprette en XML-fil baseret på XSD-skemaer. Søgning i foraene førte til et stort antal diskussioner relateret til en misforståelse af processen, og kun et par artikler, der forklarer essensen. Folk stillede spørgsmål, kæmpede med løsningen, men efter at problemet gav efter for dem, forsvandt de simpelthen uden at beskrive mekanismen. Dette foranledigede skabelsen enkel beskrivelse behandle.
P.S. Band ikke for meget, mit mål var ikke at skabe en form for videnskabelig artikel, der udelukkende bruger den korrekte terminologi, men blot at hjælpe med at tage det første skridt mod at forstå den meget kraftfulde udvekslingsmekanisme via XML.
P.P.S. Jeg skal straks tage forbehold for, at den upload-fil, der er knyttet til artiklen, kun er en skabelon, der kun opretter en del af den nødvendige XML-filstruktur, fordi mit arbejde med denne download var mere af uddannelsesmæssig karakter (kopier det tidligere eksportdokument på FCS-webstedet og download kun fra Excel-filen tabeldel Produkter præsenteret mere effektiv løsning), og manglen på tid tillod mig ikke at fuldføre skabelsen af ​​hele strukturen, kun baseret på overvejelser om perfektionisme.

Så efter at have registreret sig på FCS-webstedet, blev det klart, at for at oprette statistiske rapporteringsdokumenter om eksport er det nødvendigt at downloade data fra salgsstyringsdokumenterne for varer og tjenesteydelser og oprette en fil til download.

Der er to mulige downloadmuligheder.

Først: Indlæsning af tabeldelen med produkter fra Excel-fil(denne mulighed blev valgt som en fungerende, fordi den havde de fordele, at der ikke var behov for at bekymre sig om at behandle "Header" af dokumentet, men du kunne blot kopiere den forrige og ændre det, der krævedes i "Header" ).

For det andet: oprettelse af en XML-fil i henhold til skemaet, der er downloadet fra FCS-webstedet i form af et "Album of formats" elektroniske formularer dokumenter." Albummet indeholder nok et stort antal af XSD-skemaer. De fandt et diagram over den "statistiske form for regnskab for varebevægelser" og yderligere filer med typebeskrivelser til det. Diagrammerne er knyttet til artiklen i arkivet med bearbejdning.

For at se XSD-skemaer brugte vi den gratis Microsoft XML Notepad 2007.

Billedet viser hovedfilen med XSD-skemaet "Statistisk formular til regnskab for varebevægelser." Billedet fremhæver de vigtigste blokke i XSD-skemaet, som vi har brug for for at forstå det.

Fra diagrammet er det klart, at vi skal have en XML-fil udfyldt med den struktur, der er angivet i "xs:element"-grenen af ​​typen StaticFormType.

Strukturen kan være ret kompleks (som i vores tilfælde). Med typebeskrivelser til stede direkte i grenen, placeret i en separat gren eller endda placeret i en anden fil.

Denne struktur har en type StaticFormType, som igen består af en basistype BaseDocType, et sæt objekter af forskellige typer og tekstattributter.

Basistypen BaseDocStyle er defineret i en anden fil (og navneområde)
.

Denne fil indeholder en masse typer, som ikke bruges i vores tilfælde.

Lad os nu gå videre til at arbejde i 1C. I en nøddeskal, hvad vi skal gøre, kommer ned til følgende:

1. XDTO Factory er ved at blive oprettet

OurFactoryXDTO = CreateFactoryXDTO(ArrayFuldFileNamesWithXSDSchemas);

2. På XDTO fabrikken oprettes alle komplekse datatyper, som vi så udfylder oprettet fil XML:

StaticFormType = MyFactoryXDTO.Type("urn:customs.ru:Information:CustomsDocuments:StaticForm:5.4.0", "StaticFormType");

Datatyperne inkluderet i en bestemt type kan fås fra samlingen af ​​dens egenskaber:

CUOrganizationType = StaticFormType.Properties.Get("Modtager").Type; NameType = CUOrganizationType.Properties.Get("OrganizationName").Type; ShortNameType = CUOrganizationType.Properties.Get("ShortName").Type; LanguageCodeType = CUOrganizationType.Properties.Get("OrganizationLanguage").Type;

3. Når alle komplekse datatyper er oprettet, opretter vi en XML-filstruktur baseret på dem, bestående af XDTO Factory-objekter:

StaticFormType_XDTOObject = MyXDTOFactory.Create(StaticFormType); // samling med dokumenter NewDocuments = MyFactoryXDTO.Create(DocumentsType); NewDocuments.PrDocumentName = MyFactoryXDTO.Create(PrDocumentNameType, "Waybill"); NewDocuments.PrDocumentNumber = MyFactoryXDTO.Create(PrDocumentNumberType, "123-number"); NewDocuments.PrDocumentDate = MyFactoryXDTO.Create(PrDocumentDateType, "2014-10-05"); StaticFormType_XDTO.Documents.Add(NewDocuments);

Samtidig udfylder vi det elementære ( simple typer) nødvendige.

4. Og til sidst losser vi alt fra XDTO Factory til en fil:

XML-fil = Ny XML-indgang(); FileXML.OpenFile(Filnavn); FileXML.WriteXMLDeclaration(); MyXDTOFactory.WriteXML(XMLFile, StaticFormType_XDTOObject); FileXML.Close();

P.S. Arkivet indeholder en upload-skabelonfil i XML (kun nogle detaljer oprettes, hvilket afspejler alle tilfælde, hvor filen er udfyldt) og XSD-skemaer.

Udpak alle filer i en bestemt mappe.

XML vil blive oprettet i den.

Ganske ofte, mange brugere af moderne computersystemer Og software produkter forskellige typer støder på filer med filtypenavnet .xml. Mange mennesker har simpelthen ingen idé om, hvad det er for et dokument, eller hvordan man åbner det. Nu skal det overvejes.Samtidig finder vi ud af, hvad det er, og hvad det skal bruges til.

Hvad er en XML-fil

Lad os starte, måske, med det faktum, at fra et moderne synspunkt computerteknologi og programmer, der bruges til at oprette dokumenter af denne type tekstfil, som indeholder kommandoerne fra det universelle, udvidelige markup-sprog, som minder ret meget om det velkendte HTML-markup-værktøj.

Typisk indeholder XML-filen generel information om ethvert objekt, som udtrykkes ved beskrivende midler (mere om dette senere). Hvad angår de data, der er lagret i sådanne beholdere, kan disse være databaser, der ofte bruges til internetvideo- og lydkataloger, der er gemt brugerdefinerede indstillinger programmer og applikationer samt hele websider.

Som et eksempel kan du f.eks. tage et lydalbum fra en kunstner. XML-filen indeholder oplysninger om udgivelsesår, genre, nummer og navne på numre, popularitet osv. Men når man besøger ressourcer i Internettet surferen behøver ikke at tænke på fysisk at åbne en sådan informationsfil, da afspilleren selv når man spiller en sang online, vil vise alle data af den type, der er indeholdt i standard MP3-filer i form af ID3-tags. Informationen indlæses på sporet, der afspilles.

XML filtype

Hvis du ser på filen, vil du straks bemærke, at i den er egenskaberne for ethvert objekt beskrevet ved hjælp af tags og attributter, der indstilles manuelt.

Vi taler ikke om de grundlæggende kommandoer i selve sproget, da den gennemsnitlige bruger ikke har brug for sådanne oplysninger. Det eneste, der kan bemærkes, er det et vist beløb elementer, der bruges til at beskrive et objekt i dette format eksisterer ikke: så meget som der er brug for, så meget er givet.

Sådan åbnes standard XML-format

Lad os nu se, hvordan man åbner en XML-fil. Som mange sikkert allerede har forstået, er dette en tekstfil, hvilket betyder, at den nemmeste måde at se eller redigere den på er at bruge en hvilken som helst editor, selv den mest primitive. Ja, i det mindste den samme "Notesblok" fra standard Windows-sættet.

Alt er dog ikke så enkelt her. Pointen er, at iflg Dobbeltklik filen åbnes ikke uden at indstille den relevante tilknytning til noget program. I bedste tilfælde vil systemet tilbyde en liste over de mest passende applikationer. Du kan vælge et program efter eget valg, og samtidig markere afkrydsningsfeltet ud for muligheden for konstant at bruge det valgte program til alle filer af denne type.

Du kan gøre det anderledes ved at højreklikke på filen og derefter vælge kommandoen "Åbn med..." og derefter igen vælge den rigtige applikation enten fra listen eller angiv placeringen af ​​den hovedeksekverbare komponent (oftest er dette en EXE-fil).

Den tredje måde at åbne en XML-fil på er at indledende lancering program og derefter bruge filåbningsmenuen (i de fleste tilfælde er dette kombination Ctrl+ O). I dette tilfælde er det absolut ikke nødvendigt at bruge Notesblok. Venligst, filen åbner uden problemer i samme Word-applikation og andre som ham. Selv Microsoft Excel er i stand til at åbne data i dette format.

Men hvis der er behov for at redigere XML-formatet, så er det bedre at bruge professionelle hjælpeprogrammer, der understøtter sprogsyntaks, for eksempel Oxygen XML Editor, XML Marker eller EditiX Lite Version. Det er naturligvis ikke alle hjælpeprogrammer, der kan arbejde med filsproget i højeste niveau. I dag kan du finde en masse af sådanne programmer.

Nu et par ord om, hvorfor der nogle gange opstår en XML-filfejl ved åbning. Oftest skyldes dette en krænkelse af integriteten af ​​selve filen, samt forkert introduktion af beskrivende attributter eller tags. Derudover har Excel en begrænsning på rækkegrænsen, der kan vises, så i dette tilfælde er dataene muligvis ikke fuldstændige, når de åbnes.

Mulige fejl ved åbning af en XML-fil som en vedhæftet fil i e-mail

Nogle gange kan der opstå fejl, når du forsøger at åbne en fil, der er en vedhæftet fil e-mail. Oftest refererer dette til standard mail klienter som Outlook Express.

Faktum er, at den vedhæftede fil først gemmes som midlertidige data (meget ofte med en ekstra .tmp tilføjet til hovedudvidelsen), og det er denne, der tilgås.

For at undgå denne situation er det nok til at begynde med at gemme den vedhæftede fil i dets originale format i enhver behageligt sted på disk eller flytbare medier, og brug derefter standardmetoderne beskrevet ovenfor.

I stedet for en total

Som du kan se, er der intet svært at forstå strukturen og metoderne til at åbne filer i dette format. Her blev spørgsmålet om oprettelse af XML-data imidlertid ikke grundlæggende overvejet, da for fuldt ud at forstå processen skal du i det mindste kende det grundlæggende i selve sproget. Ellers tror jeg, at brugerne ikke vil have nogen problemer med filer i dette format.

Jeg vil gerne tale ét sted om en meget typisk opgave, når man arbejder med XML, nemlig om skabelsen XML baseret på den eksisterende. Denne operation vil bestå af flere faser, hvor beslutningerne vil blive truffet yderligere opgaver, såsom:

  • Skabelse XML baseret XSD, og omvendt.
  • Serialisering og deserialisering af objekter.
  • Oprettelse af en klasse til fremtidig serialisering fra XML eller XSD.
Inden jeg går i gang, planlægger jeg, at læseren er bekendt med ordene XML Og XSD. Vedrørende XML, jeg tror ikke der er problemer med dette, men vedr XSD Jeg kan have spørgsmål om, hvad det er. Kort sagt:
XSD er et sprog til at beskrive XML. Og hvis du ser på indholdet af filen, der indeholder denne beskrivelse, vil spørgsmålet opstå, hvorfor beskrive de tilsyneladende indlysende tags på din XML? Men forestil dig, at du integrerer med et eksternt system, og du vil bruge formatet til dataudveksling XML. Så, XSD giver dig mulighed for at beskrive for hvert element dets navn, mulige attributter, obligatoriske felter eller attributter og gøre det klart, at indholdet af et tag kun kan indeholde ét internt element ( ) og ikke mere, eller en node kan have en sekvens af elementer (< a> ... ). Hvornår eksternt system er dit, så opstår der måske ikke problemer, men når det ekstern organisation, Derefter denne beskrivelse igennem XSD, vil være et værktøj til at løse tvister med formatet, og også ved hjælp af hjælpeprogrammer kan du kontrollere overensstemmelsen af ​​evt. XML originalt format.
Så hvad skal vi gøre for at lære at stemple XML baseret på din standard? Jeg vil beskrive alt i rækkefølge.

Ledig:
En slags XML (xmlfile.xml), gemt i tekstformat at arkivere. Herunder er teksten:

< catalog > < book id = " bk101 " > < author >Gambardella, Matthew < title >XML-udviklervejledning < genre >Computer < price > 44.95 < publish_date > 2000-10-01 < description >Et dybdegående kig på oprettelse af applikationer med XML. < book id = " bk102 " > < author >Ralls, Kim < title >Midnatsregn < genre >Fantasi < price > 5.95 < publish_date > 2000-12-16 < description >En tidligere arkitekt kæmper mod corporate zombier, en ond troldkvinde og sin egen barndom for at blive verdens dronning.

Trin for at oprette en ny:

  1. Brug først værktøjet XSD.exe, eller ved hjælp af onlinetjenester(søg efter "xml til xsd" en af ​​dem www.freeformatter.com/xsd-generator.html), vil vi oprette fra den eksisterende XML dens primitive XSD beskrivelse. Ved udgangen vil vi have en fuldstændig, automatisk oprettet output.xsd en fil, der allerede er brugbar, men som muligvis ikke er komplet.
  2. Dernæst baseret på output.xsd , klasser oprettes i C# xmlclass.cs. Herefter tilføjer vi det til vores projekt. Du kan oprette en klasse vha XSD.exe eller xsd2-kode hjælpeprogram eller enhver onlinetjeneste.
  3. Nu er vi klar til at bruge filklasserne xmlclass.cs. Lad os derfor oprette og udfylde forekomster med data xml-klasse, og derefter, ved hjælp af serialiseringsprocessen, vil vi konvertere objekter til XML linje, og gem den derefter i ny fil. Således får vi XML baseret på hvad der er tilgængeligt.
Lad os komme igang!

Trin 1: Generer XSD fra XML.

Så her er de metoder, jeg selv bruger:
  1. Utility xsd.exe- skaber Microsoft.
  2. Utility xsd2code.exe - tredjepartsapplikation, som kan alt det samme som xsd.exe, men er tilgængelig til download direkte (på dette øjeblik blev betalt fra Forsøg periode).
  3. Brug af enhver online-tjenester.
For at modtage XSD.exe, bliver du nødt til at sætte evt Microsoft SDK'er, som følger med denne ansøgning. Desværre, i øjeblikket, inkluderer ingen af ​​studierne dette værktøj i deres kit.

Link til at downloade og installere en af SDK:
Windows SDK til Windows 7 og .NET Framework 4.

Lad os bruge søgningen og finde filen xsd.exe, hvorefter (for at gøre vores arbejde lettere), kopiere den til mappen oprettet i roden af ​​disken C:\xmltoxsd. Dernæst kopierer vi vores xmlfile.xml og alt er klar til at starte.


Vi river af" Kommandolinje"(Start -> "Kør" -> "cmd"), gå til vores bibliotek og ring med standardparametre xsd.exe, ved at sende vores xmlfile.xml som en parameter:


Og vi ser, at der er dukket en fil op ved siden af xmlfile.xsd med indhold.


Det er alt! Disse handlinger er nok til at skabe en primitiv XSD fil at arbejde med. Men det er værd at forstå det xsd.exe, som ethvert andet hjælpeprogram, ved intet om typerne af dine felter (så felttypen vil næsten altid være det snor), samt om alle variationer af attributter og parametre. Det vil sige, hvis et eller andet tag ikke har en attribut i din XML, så står det ikke i beskrivelsen. Derfor XML skal være den mest komplette, og hvis elementet kan indeholde flere underordnede felter, er det bedre at tilføje mindst to, så xsd.exe Jeg indså, at dette er en samling.

Syntaks XSD ikke særlig kompliceret, så hvis du skriver en ret seriøs beskrivelse, skal du muligvis arbejde med en fil.

Trin 2: Opret en klasse fra XSD.

For at oprette en klasse i C#, skal vi bruge igen xsd.exe men med en anden parameter /klasser, der passerer stien til vores xmlfile.xsd.


Efter udførelse vises filen xmlfile.cs, hvis indhold er vist nedenfor i komprimeret form:


Som du kan se, for det indre element katalog en klasse blev oprettet katalog Bog, hvis felter svarer til felterne i XML, og marken ID markeret som en egenskab. Xsd.exe Jeg forstod rigtigt, hvad der var indeni katalog en samling bøger opbevares, så ejendommen fremstod genstande, for at udfylde den underordnede samling.
Kommentar: xsd.exe kan ikke tilføje kommentarer til de resulterende klasser og felter. I beskrivelse XSD der hedder et element< xs:annotation > , som oftest indeholder< xs:documentation >, indeni som er en beskrivelse af feltet. I teorien skal det placeres i /// beskrivelsen, men i øjeblikket xsd.exe nægter at tilføje tekst til beskrivelsen, så man må ty til alternativer som f.eks xsd2-kode eller onlinetjenester.

Trin 3: Serialiser objekter til XML.

De resulterende klasser er i filen xmlfile.cs. Tilføj derefter indholdet eller selve filen til projektet Visual Studio , hvorefter du kan arbejde med det. Jeg vil oprette demobogobjekter og derefter gemme dem til en fil i formatet XML.

Privat void Eksempel() ( // Opret den første bog var book1 = new catalogBook () ( forfatter = "King" , description = "Meget interessant bog" , genre = "Fantasy" , pris = 22.ToString(), id = "42011" , title = "It" }; !} // Opret en anden bog var book2 = ny katalogBog () ( forfatter = "O"Brien, Tim", beskrivelse = "Microsofts .NET-initiativ er udforsket i detaljer i denne dybe programmørreference.", genre = "Computer" , pris = 36.ToString(), id = "30012" , title = "Microsoft .NET: The Programming Bible" }; // Opret et biblioteksrodelement, der indeholder de to bøger ovenfor var catalog = new catalogue() (Items = new(book1, book2)); // Indeholder XML for katalogobjektet var xmlCatalog = Serialize(catalog); // Skriv en streng til en fil // TODO Lavet til demonstrationsformål. Det er tilrådeligt at kalde Serialize-metoden for at overføre Stream til filen Fil .WriteAllText("Output.xml" , xmlCatalog); ) privat streng Serialize (TType sourceObject) ( if (sourceObject == null ) (retur streng .Empty; ) // Brug XmlSerializer til at konvertere den til en XML-streng var xmlserializer = new XmlSerializer(typeof(TType)); var stringWriter = new StringWriter(); ved hjælp af (var writer = XmlWriter .Create(stringWriter, nye XmlWriterSettings () ( Indent = true ))) ( xmlserializer.Serialize(writer, sourceObject); return stringWriter.ToString(); ) ) Efter kørsel og åbning Output.xml du kan se, at vi har gemt det, som vi ønskede (Bundfil - " Oprettet efter kode").

XML-formatet er designet til at gemme data, der kan være nyttige i driften af ​​visse programmer, websteder og understøttelse af visse markup-sprog. Det er ikke svært at oprette og åbne en fil med dette format. Dette kan gøres, selvom du ikke har nogen speciel software installeret på din computer.

XML i sig selv er et opmærkningssprog, der lidt ligner HTML, der bruges på websider. Men hvis sidstnævnte kun bruges til at vise information og dens korrekt markering, så tillader XML det at blive struktureret på en bestemt måde, hvilket gør dette sprog lidt ligner en analog af en database, der ikke kræver et DBMS.

Du kan oprette XML-filer ved hjælp af specialiserede programmer eller indbygget Windows tekst redaktør. Hvor let det er at skrive kode og niveauet af dets funktionalitet afhænger af den anvendte softwaretype.

Metode 1: Visual Studio

I stedet for denne Microsoft-kodeeditor kan du bruge enhver af dens analoger fra andre udviklere. Faktisk er Visual Studio en mere avanceret version af det sædvanlige "Notesblok". Koden har nu speciel fremhævning, fejl fremhæves eller rettes automatisk, og der er allerede indlæst specielle skabeloner i programmet, der gør det nemmere at lave store XML-filer.

For at komme i gang skal du oprette en fil. Klik på et element "Fil" V toppanel og vælg fra rullemenuen "Skab…". Der åbnes en liste, der angiver elementet "Fil".

  • Du vil blive omdirigeret til et vindue med et valg af filtypenavn, vælg punktet i overensstemmelse hermed "XML-fil".
  • Den nyoprettede fil vil allerede have den første linje med kodning og version. Som standard er den første version og kodning angivet UTF-8, som du til enhver tid kan ændre. Dernæst, for at oprette en fuldgyldig XML-fil, skal du skrive alt ned, der var i de tidligere instruktioner.

    Når du er færdig, skal du vælge igen i toppanelet "Fil", og der er et punkt fra rullemenuen "Gem alt".

    Metode 2: Microsoft Excel

    Du kan oprette en XML-fil uden at skrive kode, f.eks moderne versioner, som giver dig mulighed for at gemme tabeller med denne udvidelse. Du skal dog forstå, at det i dette tilfælde ikke vil være muligt at skabe noget mere funktionelt end et almindeligt bord.

    Denne metode er mere velegnet til dem, der ikke ønsker eller ikke ved, hvordan man arbejder med kode. Men i dette tilfælde kan brugeren støde på visse problemer ved omskrivning af en fil i XML-format. Desværre er operationen med at konvertere en almindelig tabel til XML kun mulig på de nyeste versioner af MS Excel. For at gøre dette skal du bruge følgende trin-for-trin instruktioner:


    Metode 3: Notesblok

    Selv en almindelig er ganske velegnet til at arbejde med XML "Notesbog", men det vil være svært for en bruger, der ikke er bekendt med sprogets syntaks, da det skal skrives i forskellige kommandoer og tags. Processen vil være noget enklere og meget mere produktiv i specialiserede programmer til redigering af kode, for eksempel i Microsoft Visual Studio. De har speciel tag-fremhævning og værktøjstip, som i høj grad forenkler arbejdet for en person, der er ny til syntaksen for dette sprog.

    Denne metode kræver ikke at downloade noget, da operativ system allerede indbygget "Notesbog". Lad os prøve at lave en simpel XML-tabel i den ved at bruge disse instruktioner:


    Dit færdige resultat skulle se sådan ud:




    25
    Rigtigt


    XML-kompilere skal behandle denne kode som en tabel med én kolonne, der indeholder data om en bestemt Ivan Ivanov.

    I "Notesblok" det er sagtens muligt at lave simple tabeller som denne, men når man laver større datasæt, kan der opstå vanskeligheder, da man i alm. "Notesblok" Der er ingen funktioner til at rette fejl i koden eller fremhæve dem.

    Som du kan se, er der ikke noget kompliceret i at oprette en XML-fil. Hvis det ønskes, kan det oprettes af enhver bruger, der mere eller mindre ved, hvordan man arbejder på en computer. For at oprette en fuldgyldig XML-fil anbefales det dog at studere dette markup-sprog, i det mindste på et primitivt niveau.

    Lad os se på proceduren for at konvertere et databaseobjekt til XML-format:

    1. I databasevinduet skal du vælge det ønskede objekt ved at venstreklikke og vælge kommandoen Fil, eksport(Fil, Eksporter) eller højreklik på objektet og vælg kommandoen fra kontekstmenuen Eksport(Eksport).
    2. En dialogboks vises Eksporter et objekt(Eksporter til). I rullelisten Typer(Gem som type) vælg elementet XML dokumenter(XML-dokumenter). I marken Filnavn(Filnavn) indtast navnet på HTML-dokumentet og klik på knappen Eksport(Eksport).
    3. En dialogboks vises XML eksport(Eksporter XML) (Fig. 12.9).
    4. Denne dialogboks indeholder tre afkrydsningsfelter for de tre komponenter i et XML-dokument: data, dataskema og datapræsentation. (For mere information, se afsnittet "XML-format i Microsoft Office 2002" i dette kapitel). Marker afkrydsningsfelterne for de dele af XML-dokumentet, du vil eksportere. For eksempel, hvis du markerer afkrydsningsfelterne samtidigt data (XML)(Data (XML)) og data skema(Skema for dataene), vil dataskemaet blive eksporteret og gemt separat fra XML-datafilen i en XSD-fil. For tabeller kan du kun eksportere dataene eller dets struktur, eller dataene og strukturen sammen og ikke eksportere tabelvisningen som en webside: afkrydsningsfelt datapræsentation(XSL) (præsentation af dine data (XSL)) kan fjernes.

    Ris. 12.9. Dialogvindue XML eksport

    Kommentar

    Afkrydsningsfeltet Data (XML) bør kun fjernes, hvis du kun ønsker at eksportere en ny repræsentation af databaseobjektet, og dataene tidligere er blevet eksporteret til en XML-fil. Ellers vil du, når du åbner den resulterende webside, modtage en meddelelse om en fejl ved forbindelse til datakilden, og selve siden vil være næsten tom.

    1. at installere Ekstra muligheder konvertering skal du klikke på knappen Derudover(Avanceret) (Fig. 12.10).

    Ris. 12.10. Tab Data dialog boks XML eksport

    1. Derudover indeholder denne dialogboks yderligere to faner for de to resterende komponenter i XML-dokumentet: dataskema og datarepræsentation. På hver af disse faner kan du markere et afkrydsningsfelt, der giver dig mulighed for at eksportere den tilsvarende del af XML-dokumentet, angive stien og navnet på den fil, hvor denne del af dokumentet skal gemmes, og indstille nogle yderligere parametre:
      • på fanen Data(Data) ved hjælp af rullelisten Indkodning(Kodning) du kan vælge kodningen for at gemme sideindholdet;
      • på fanen Ordning(Skema) kan du bruge kontakterne til at vælge, om datastrukturen skal eksporteres til en separat XSD-fil eller indlejre det i en XML-fil sammen med dataene;

    Ris. 12.11. Kontorapport åbnet i database

    • på fanen Præsentation(Præsentation) ved hjælp af switchene kan du vælge præsentationsformatet på websiden: HTML behandlet på klientsiden eller ASP-serversiden. Hvis det eksporterede objekt indeholder billeder, som du vil inkludere i det resulterende dokument, kan du angive navnet på den mappe, hvori de er placeret. På samme fane er der et felt til at indtaste navnet på XSL-filen med en beskrivelse af sidedesignet. Hvis specificeret fil ikke eksisterer, vil Access 2002 oprette en XSL-fil, der beskriver den eksterne repræsentation af dokumentet (udvikleren kan senere bruge dette som grundlag for at udvikle en XSLT-fil til at konvertere XML-dokumentet til et andet format).

    Hvis nødvendigt Yderligere Information om at repræsentere data i XML-format, skal du klikke på knappen Reference(Hjælp). Oplysninger om udvikling og konvertering af XML-dokumenter kan findes på Microsoft Developer-webstedet: http://msdn.microsoft.com/.

    Ris. 12.12. Kontorapporten, hvis data er konverteret til XML-format, åbne ind Internet Explorer

    1. Klik på OK.
    2. Hvis de foreslåede transformationsparametre ikke er blevet ændret, vil tre filer blive oprettet som et resultat: XML - med data, XSL - med typografier og HTM - med en repræsentation af det konverterede objekt. For at åbne den modtagne webside skal du åbne den på internettet Explorer fil HTM eller ASP, afhængigt af hvilket præsentationsformat der blev valgt..

    Desværre vil underformularer og rapporter og tilhørende grafik ikke blive tilføjet XML-dokument, hentet fra et databaseobjekt. Simple objekter med indlejret grafik eksporteret til XML vil dog se næsten nøjagtigt ud som de originale i Access. Du kan verificere dette ved at sammenligne f.eks. originalen og fakturarapporten konverteret til XML-format fra Northwind-databasen (figur 12.11 og 12.12).

    Hvis der er mange data i datakilden for det valgte objekt, kan det tage en betydelig tid at indlæse websiden i internetbrowseren.

    Kommentar

    Da selve dataene indeholdt i sådanne Web dokument, er gemt helt i en XML-fil, er der ikke behov for at få adgang til den database, som dataene oprindeligt er taget fra (som f.eks. ved konvertering af en rapport til XML-format). Det betyder, at for at give adgang til f.eks. et dokument, er det nok kun at placere det nævnte sæt filer, der indeholder beskrivelsen af ​​dette dokument, på Webserver. På den anden side betyder det, at ændring af data i et sådant dokument kun er muligt ved brug af applikationer, der har adgang til XML-fil og i stand til at acceptere dette format.