Lag xml-fil online. Lag XML-datafil og XML-skjemafil fra regnearkdata

Oppgaven med å lage en XML-fil basert på et XSD-skjema har dukket opp. Søking i forumene førte til mye diskusjon knyttet til misforståelser av prosessen, og bare et par artikler som forklarer essensen. Folk stilte spørsmål, kjempet om en løsning, men etter at problemet bukket under for dem, forsvant de rett og slett uten å beskrive mekanismen. Dette førte til opprettelsen av en enkel prosessbeskrivelse.
P.S. Ikke sverg for hardt, målet mitt var ikke å lage en slags vitenskapelig artikkel, strengt tatt med riktig terminologi, men ganske enkelt å hjelpe deg å ta det første skrittet mot å forstå en veldig kraftig utvekslingsmekanisme gjennom XML.
P.P.S. Jeg må ta en reservasjon med en gang at opplastingsfilen vedlagt artikkelen kun er en tomhet som bare oppretter en del av den nødvendige XML-filstrukturen, siden arbeidet mitt med denne lossingen var ganske lærerikt (kopiering av forrige dokument om eksport på FCS-nettstedet og lasting fra Excel "bare den tabellformede delen av varene ble presentert som en mer effektiv løsning), og mangelen på tid tillot det ikke meg å legge til etableringen av hele strukturen, bare basert på betraktninger om perfeksjonisme ...

Så, etter å ha registrert seg på FCS-nettstedet, ble det klart at for å lage dokumenter for statistisk rapportering om eksport, er det nødvendig å laste ned data fra dokumentene Implementering av varer og tjenester fra Trade Administration og opprette en fil for opplasting.

Det er to alternativer for lasting.

Først: lasting av tabelldelen med varene fra Excel-filen (dette alternativet ble valgt som et fungerende, fordi det hadde fordelene at det ikke var nødvendig å fikle med behandlingen av "Header" av dokumentet, men du kunne kopier ganske enkelt den forrige ved å endre hva som kreves i "Header").

For det andre: opprettelse av en XML-fil i henhold til skjemaet lastet ned fra FCS-nettstedet i form av et "Album med elektroniske dokumenter". Albumet er et ganske stort antall XSD-skjemaer. De fant et skjema for «Statistisk regnskapsform for varebevegelse» og tilleggsfiler med beskrivelser av typer for den. Diagrammene er vedlagt artikkelen i arkivet med bearbeiding.

Gratis Microsoft XML Notepad 2007 ble brukt til å vise XSD-skjemaer.

Bildet viser hovedfilen med XSD-skjemaet "Statistisk form for varebevegelsesregnskap". Bildet fremhever hovedblokkene i XSD-skjemaet som vi trenger for å forstå det.

Fra diagrammet kan du se at vi trenger å få en XML-fil fylt med strukturen spesifisert i "xs: element"-grenen av typen StaticFormType.

Strukturen kan være ganske kompleks (som i vårt tilfelle). Med typebeskrivelser tilstede direkte i grenen, flyttet til en egen gren, eller til og med plassert i en annen fil.

Denne strukturen er av typen StaticFormType, som igjen består av basistypen BaseDocType, et sett med objekter av forskjellige typer, og tekstattributter.

Basetypen BaseDocStyle er beskrevet i en annen fil (og navneområde)
.

Denne filen inneholder mange flere typer som ikke brukes i vårt tilfelle.

La oss nå gå videre til å jobbe i 1C. I et nøtteskall, det vi trenger å gjøre, koker ned til følgende:

1. XDTO-fabrikken er opprettet

OurXDTOFactory = CreateXDTOFactory (ArrayFullFileNamesWithXSD Schemes);

2. Alle komplekse datatyper opprettes i XDTO-fabrikken, som vi videre vil fylle ut i den genererte XML-filen:

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

Datatypene som er inkludert i en bestemt type kan hentes fra samlingen av dens egenskaper:

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

3. Når alle komplekse datatyper er opprettet, oppretter du en XML-filstruktur basert på dem, bestående av XDTO Factory-objekter:

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

Samtidig fyller vi inn elementære (enkle typer) detaljer.

4. Til slutt laster vi ut alt fra XDTO Factory til en fil:

XMLFile = Ny XMLRecord (); XML File.OpenFile (Filnavn); XML File.WriteXMLDeclaration (); MyXDTOFactory.WriteXML (XMLFile, StaticFormType_XDTOObject); XML File.Close ();

P.S. Arkivet inneholder en fil av utlastingsmalen i XML (bare noen detaljer opprettes som gjenspeiler alle tilfeller av utfylling av filen) og XSD-skjemaer.

Pakk ut alle filene til en katalog.

XML vil bli opprettet i den.

Vurder prosedyren for å konvertere et databaseobjekt til XML:

  1. I databasevinduet velger du ønsket objekt ved å klikke med venstre museknapp og velge kommandoen Fil, eksport(Fil, Eksporter) eller høyreklikk på objektet og velg kommandoen Eksport(Eksport).
  2. En dialogboks vises Eksporter objekt(Eksporter til). Fall ned Typer(Lagre som type) marker elementet XML-dokumenter(XML-dokumenter). I felt Filnavn(Filnavn) skriv inn navnet på HTML-dokumentet og klikk på knappen Eksport(Eksport).
  3. En dialogboks vises XML-eksport(Eksporter XML) (Figur 12.9).
  4. Denne dialogboksen inneholder tre avmerkingsbokser for de tre komponentene i et XML-dokument: data, dataskjema og datapresentasjon (Om dem se avsnittet "XML-format i Microsoft Office 2002" i dette kapittelet). Merk av i avmerkingsboksene for delene av XML-dokumentet du vil eksportere. For eksempel hvis du krysser av i boksene samtidig data (XML)(Data (XML)) og dataskjema(Skjema for dataene), vil dataskjemaet eksporteres og lagres separat fra XML-datafilen, i XSD-filen. For tabeller kan du bare eksportere data eller strukturen, eller data og struktur sammen, og ikke eksportere tabellvisningen som en nettside: avmerkingsboks datapresentasjon(XSL) (Presentasjon av dataene dine (XSL)) kan fjernes.

Ris. 12.9. Dialogvindu XML-eksport

Kommentar

Du bør bare fjerne merket for Data (XML) hvis du bare vil eksportere en ny representasjon av databaseobjektet, og dataene ble eksportert til en XML-fil tidligere. Ellers, når du åpner den resulterende websiden, vil du motta en melding om en feil ved tilkobling til datakilden, og selve siden vil være nesten tom.

  1. For å angi flere konverteringsalternativer, klikk på knappen I tillegg(Avansert) (fig.12.10).

Ris. 12.10. Tab Data dialogboks XML-eksport

  1. I tillegg inneholder denne dialogboksen ytterligere to faner for de resterende to delene av XML-dokumentet: Dataskjema og Datavisning. På hver av disse fanene kan du velge en avmerkingsboks som lar deg eksportere den tilsvarende delen av XML-dokumentet, spesifisere banen og filnavnet som denne delen av dokumentet skal lagres i, og angi noen ekstra parametere:
    • i fanen Data(Data) ved å bruke rullegardinmenyen Koding(Koding) du kan velge kodingen for å lagre sideinnholdet;
    • i fanen Opplegg(Skjema) radioknapper kan brukes til å velge om datastrukturen skal eksporteres som en separat XSD-fil eller bygges inn i en XML-fil sammen med dataene;

Ris. 12.11. Kontorapport åpnet i databasen

  • i fanen Presentasjon(Presentasjon) Du kan bruke alternativknappene til å velge presentasjonsformatet for websiden: HTML-gjengivelse på klientsiden eller gjengivelse på ASP-serversiden. Hvis det eksporterte objektet inneholder bilder som du vil inkludere i det resulterende dokumentet, kan du angi navnet på mappen de er plassert i. På samme fane er det et felt for å skrive inn navnet på XSL-filen med en beskrivelse av sidedesignet. Hvis den angitte filen ikke eksisterer, oppretter Access 2002 en XSL-fil som beskriver den eksterne representasjonen av dokumentet (en utvikler kan bruke den senere som grunnlag for å utvikle en XSLT-fil for å transformere et XML-dokument til et annet format).

Hvis du trenger mer informasjon om hvordan XML-data er representert, klikk henvisning(Hjelp). Informasjon om utvikling og transformering av XML-dokumenter finnes på Microsofts Developer-nettsted: http://msdn.microsoft.com/.

Ris. 12.12. Fakturarapport konvertert til XML formatert i Internet Explorer

  1. Klikk OK.
  2. Hvis de foreslåtte transformasjonsparametrene ikke er endret, vil resultatet være tre filer: XML - med data, XSL - med stiler og HTM - med en representasjon av det transformerte objektet. For å åpne den resulterende websiden, må du åpne en HTM- eller ASP-fil i Internet Explorer, avhengig av hvilket presentasjonsformat som ble valgt.

Dessverre vil ikke underskjemaer og rapporter og tilhørende grafikk legges til XML-dokumentet hentet fra databaseobjektet. Imidlertid vil enkle objekter med innebygd grafikk eksportert i XML-format se nesten nøyaktig ut som de originale objektene i Access. Du kan verifisere dette ved å sammenligne for eksempel den originale og XML-konverterte Fakturarapporten fra Northwind-databasen (Figur 12.11 og 12.12).

Hvis det er mye data i datakilden til det valgte objektet, kan det ta mye tid å laste inn nettsiden til en Internett-visning.

Kommentar

Siden selve dataene i et slikt nettdokument er helt lagret "i en XML-fil, er det ikke nødvendig å få tilgang til databasen som dataene opprinnelig ble hentet fra (som for eksempel ved konvertering av en rapport til XML) Dette betyr at for å gi tilgang til et slikt dokument, er det tilstrekkelig å bare plassere det nevnte settet med filer som inneholder beskrivelsen av dette dokumentet på en webserver. På den annen side betyr dette at endring av dataene i et slikt dokument er kun mulig ved bruk av applikasjoner som har tilgang til XML-filen og er i dette formatet.

Bruksanvisning

Bestem hvilken type XML-dokument du vil lage. Enten det er et velutformet eller gyldig dokument. Valget av dokumenttype avhenger direkte av innholdet og formålet med bruken. Hvis dokumentet er nødvendig for å lagre vilkårlige data og ikke innebærer ytterligere publisering eller standardisering av strukturen, kan du lage et godt utformet dokument. Slike dokumenter må følge alle XML-syntaksregler Et gyldig XML-dokument må være godt utformet og i tillegg overholde reglene definert av et bestemt Document Type Definition (DTD)-skjema. Derfor, hvis du trenger å tydelig fange strukturen og mulige relasjoner mellom elementer, bør du opprette et gyldig XML-dokument.

Plukk opp eller design en dokumenttype (DTD). For vanlige oppgaver kan du bruke en av de eksisterende XML-applikasjonene hvis spesifikasjoner er publisert på W3C-nettstedet på w3.org, eller på tredjepartssider. Så det er praktisk å beskrive i MathML-format, vektortegninger - i SVG og e-bøker - i FictionBook. Fordelen med denne tilnærmingen er at dokumenter som allerede oppfyller de godkjente spesifikasjonene kan behandles av eksisterende programvare. Hvis du bestemmer deg for å utvikle din egen DTD, se W3Cs regulatoriske dokumenter. Hvis dokumentet du oppretter ikke samsvarer med noen DTD, bør du vurdere og dokumentere den grove strukturen for fremtidig referanse.

Velg kodingen for XML-dokumentet. Ulike kodinger kan brukes i XML. Når du velger, er det imidlertid verdt å vurdere egenskapene til tekstredigereren som brukes, samt kravene til tegnsettet til dokumentdataene. På grunn av ASCII-kompatibilitet, variabel tegnlengde og full støtte for hele UNICODE-settet, er det i de fleste tilfeller fornuftig å bruke UTF-8-koding.

Lag et XML-dokument. Start et tekstredigeringsprogram. Åpne et nytt dokumentvindu. På den første linjen skriver du inn en XML-erklæring av skjemaet:

der verdien av versjonsattributtet er versjonen av språkspesifikasjonen som skal brukes, og verdien til kodingsattributtet indikerer kodingen av dokumentet. Hvis du bruker en dokumenttypedefinisjon, skriv inn DTD-teksten eller ressurskoblingen med en gyldig DTD. Deretter oppretter du dokumentdatastrukturen fra rotelementet. Lagre dokumentet til en fil på harddisken.

En introduksjon til korrekt markering

XML midler Extensible Markup Language, med fokus på markering(markering). Du kan lage tekst og merke den med kantmerker, gjøre hvert ord, setning eller passasje til identifiserbar, sorterbar informasjon. Filer du lager, eller kopier av dokumentet, består av elementer (tags) og tekst, og elementene bidrar til å forstå dokumentet riktig når man leser det på papir eller til og med behandler det elektronisk. Jo flere beskrivende elementer det er, jo flere deler av dokumentet kan identifiseres. Fra de første dagene av eksistensen av markeringen, er en av fordelene ved tap av et datasystem, skrevet ut data er fortsatt lesbare takket være taggene.

Markup-språk har gått fra de første skjemaene laget av selskaper og myndigheter, til Standard Generalized Markup Language (SGML), Hypertext Markup Language (HTML) og til slutt til XML. SGML kan høres komplisert ut, og HTML (som egentlig bare var en samling av elementer til å begynne med) var ikke kraftig nok til å identifisere informasjon. XML ble designet for å være et brukervennlig og utvidbart merkespråk.

Du kan lage dine egne elementer i XML for å representere biter av data nøyaktig. Dokumenter kan ikke bare deles inn i avsnitt og overskrifter, men også velge eventuelle fragmenter i dokumentet. For at dette skal være effektivt, må du bestemme den endelige listen over elementene dine og holde deg til den. Elementer kan defineres i en Document Type Definition (DTD) eller et skjema, som diskutert kort nedenfor. Når du har mestret og begynt å bruke XML, kan du gjerne eksperimentere med elementnavn ved å lage ekte filer.

Bygge et XML-dokument

Som nevnt er XML-filer sammensatt av tekst og markup. Mesteparten av teksten er plassert i elementer der teksten er omgitt av tagger. La oss for eksempel si at du vil lage en XML-kokebok. Vi har en oppskrift som heter Iskrem sundae som skal konverteres til XML. For å merke oppskriftsnavnet legger vi teksten i et element som begynner og slutter med tagger. Dette elementet kan kalles oppskriftsnavn. For å markere startkoden til et element, skriv navnet i vinkelparenteser<>), som dette: ... La oss så skrive inn teksten Ice Cream Sundae. Etter teksten setter du en avsluttende kode, som er elementnavnet i vinkelparenteser, pluss en skråstrek (/) foran elementnavnet, slik:... Disse kodene dannes element, der du kan skrive inn tekst og til og med andre elementer.

Varenavn kan opprettes både for individuelle dokumenter og for grupper av dokumenter. I henhold til dine krav kan du spesifisere reglene som må følges for elementene. Elementer kan være strengt ad hoc eller generelle nok. Reglene bør også definere hva som er akseptabelt for hvert element. De kan være strenge, løse eller middels. Bare lag elementer som definerer delene av dokumentet som du synes er viktige.

Starter oppretting av XML-fil

Den første linjen i et XML-dokument kan være en XML-erklæring. Denne valgfrie delen av filen definerer den som en XML-fil, som kan hjelpe automatiske verktøy og personer til å gjenkjenne filen som XML i stedet for SGML eller annen markering.

Erklæringen kan se ganske enkelt ut eller inkludere XML-versjonen ( ) og til og med tegnkoding somfor Unicode. Siden denne erklæringen må være helt i begynnelsen av filen, hvis du planlegger å kombinere små XML-filer til en større fil, er det best å hoppe over dette valgfrie elementet.

Oppretting av rotelementer

Start- og slutttaggene til rotelementet omgir hele teksten i XML-dokumentet. Det skal bare være ett rotelement i filen, og dette er den nødvendige "skin" for den. viser et utdrag av eksemplet jeg bruker her med et rotelement (oppskrift). (Se hele XML-filen i.)

Oppføring 1. Rotelement

Når du bygger dokumentet ditt, vil du plassere tekst og flere tagger mellom og .

Varenavn

Skill mellom store og små bokstaver

Når du genererer XML, må tilfellet for start- og sluttkoder samsvare. Ellers kan du få en feilmelding når du bruker eller viser XML. Internet Explorer viser for eksempel ikke tekst hvis det oppstår uoverensstemmelse mellom store og små bokstaver. I stedet viser den meldinger om uoverensstemmelse mellom start- og slutttaggene.

Så vi har et rotelement ... I XML velges elementnavn først, og deretter bestemmes tilsvarende DTD eller skjema basert på disse navnene. Navn kan inneholde bokstaver, tall og spesialtegn som understrek (_). Her er noen navneregler å huske:

  • Mellomrom er ikke tillatt i elementnavn.
  • Navn må begynne med en bokstav, ikke et tall eller tegn. (Enhver kombinasjon av bokstaver, tall og gyldige symboler kan brukes etter denne første bokstaven.)
  • Saken er irrelevant, men respekter den for å unngå forvirring.
Oppføring 2. Andre elementer
Iskrem sundae 5 minutter

Et XML-dokument kan inneholde tomme tagger, som det ikke er noe i, og som kan uttrykkes som en enkelt kode, i stedet for et par start- og sluttkoder. Det kan for eksempel være en frittstående tag i HTML-stil ... Det inneholder ingen barn eller tekst, så det er et tomt element og kan skrives som (med et mellomrom og den kjente etterfølgende skråstreken på slutten).

Hekkeelementer

Vedlegget Er plassering av elementer innenfor andre elementer. Disse nye elementene kalles datterselskap elementer, og elementene som omgir dem er deres foreldrenes elementer. Inn til rotelementet nestet flere elementer. Dette er nestede barn , og Innvendig element det er flere like barn ... Nesting kan legge ned et XML-dokument.

En vanlig syntaksfeil er relatert til overordnet og underordnet nesting. Hvert underordnede element må plasseres fullstendig mellom start- og slutttaggene til det overordnede elementet. Barneelementer må avsluttes før starten av neste barn.

Et eksempel på korrekt hekking er gitt i. Tagger begynner og slutter uten sammenveving med andre tagger.

Oppføring 3. Riktig nesting av XML-elementer.
Iskrem sundae 3 sjokoladesirup eller sjokoladefudge 1 nøtter 1 kirsebær 5 minutter

Legge til attributter

Noen ganger legges elementer til Egenskaper... Attributter består av et navn-verdi-par, der verdien er omsluttet av doble anførselstegn ("), som dette: type =" dessert ". Attributter lar deg lagre flere parametere med elementet, og endre verdiene til disse parameterne fra element til element i samme dokument ...

Et attributt - eller til og med flere attributter - er spesifisert i startkoden til et element: ... Når du legger til flere attributter, er de atskilt med mellomrom: ... XML-filen vises slik den ser ut nå.

Oppføring 4. Vår XML-fil med elementer og attributter
Iskrem sundae 5 minutter

Et hvilket som helst antall attributter kan brukes. Tenk på detaljene du kan legge til i dokumentet. Attributter er spesielt nyttige hvis dokumenter skal lagres - for eksempel etter type oppskrift. Attributtnavn kan inneholde de samme tegnene som elementnavn, med de samme reglene for å ekskludere mellomrom og innledende navn med en bokstav.

Riktig og feil konstruert XML

Hvis du følger reglene som er definert i strukturen din, kan du enkelt generere godt utformet XML. Riktig XML Er XML-kode kompilert i samsvar med alle XML-reglene: korrekt navn på elementer, nesting, navn på attributter, etc.

Avhengig av hva du gjør med XML, kan det hende du må jobbe med godt utformet XML. Tenk på eksemplet ovenfor på sortering etter oppskriftstype. Det er nødvendig at elementene inneholdt typeattributtet. Det er veldig viktig å være i stand til å validere koden og sikre at verdien av dette attributtet alltid er tilstede.

Under validering betyr å sjekke strukturen til dokumentet for samsvar med reglene som er etablert for det og definisjonen av underordnede elementer for hvert overordnet element. Disse reglene er definert i Beskrivelse av dokumenttype(DTD) eller i et skjema. Denne valideringen krever at du oppretter en DTD eller et skjema og deretter refererer til DTD- eller skjemafilen i XML-filene dine.

For å aktivere validering, må du plassere en dokumenttypeerklæring (DOCTYPE) nærmere begynnelsen av XML-dokumentene dine. Denne linjen inneholder en lenke til en DTD eller et skjema (liste over elementer og regler) som skal brukes til å validere dette dokumentet. DOCTYPE-linjen kan være noe sånt som.

Oppføring 5. DOCTYPE

Dette eksemplet betyr at listen over elementer filen heter filnavn.dtd er plassert på datamaskinen din (det vil si SYSTEM-katalogen, ikke PUBLIC-delingen).

Bruke enheter

Entitet kan være fragmenter av tekst eller spesialtegn. De kan spesifiseres inne i dokumentet eller utenfor det. Enheter må deklareres og uttrykkes på riktig måte for å unngå feil og vises korrekt.

Du kan ikke skrive inn spesialtegn direkte i tekst. For å bruke spesialtegn i teksten, må du lage dem til enheter og bruke kodene til disse tegnene. Du kan definere setninger som et firmanavn som enheter og deretter bruke dem gjennom hele teksten. For å opprette en enhet, gi den et navn og sett inn det navnet og sett inn det navnet i teksten etter og-tegnet (&) og slutter med semikolon - for eksempel (eller et annet navn). Ta deretter med denne koden på DOCTYPE-linjen i hakeparenteser (), som i. Denne koden definerer teksten som erstattes av enheten.

Oppføring 6. Entitet

Å bruke entiteter bidrar til å unngå å gjenta den samme setningen eller informasjonen om og om igjen. Det kan også gjøre det enklere å redigere tekst (for eksempel hvis selskapet endrer navn) mange steder samtidig ved ganske enkelt å tilpasse enhetsdefinisjonsstrengen.

Hvordan unngå feil

Mens du lærer hvordan du oppretter XML-filer, åpner du dem i et XML-redigeringsprogram for å sikre at de er formelt korrekte og for å sikre at XML-reglene følges. Hvis du for eksempel har Windows® Internet Explorer®, kan du ganske enkelt åpne XML-filen i en nettleser. Hvis elementene, attributtene og teksten dine vises, er XML-filen godt utformet. Hvis det er feil, har du sannsynligvis rotet til noe i syntaksen, og du må sjekke dokumentet nøye for skrivefeil eller manglende tagger og skilletegn.

Konklusjon

Når du forstår noen få enkle regler, har du fleksibiliteten til å designe dine egne XML-elementer og deres attributter. XML-regler er ikke kompliserte. Det er også enkelt å skrive et XML-dokument. Nøkkelen er å forstå hva du vil ha fra dokumenter når det gjelder sorterings- og søkefunksjoner, og deretter designe elementer og attributter for å oppfylle disse kravene.

Når du forstår formålet godt og vet hvordan du skal markere teksten din, kan du lage effektive elementer og attributter. Fra dette perspektivet er nøye markering alt som skal til for å lage et godt utformet og brukbart XML-dokument.

I en organisasjon kan regnskap ikke bare føres i løsninger basert på 1C: Enterprise-plattformen, men også i andre programvaresystemer (Galaxy, Parus, SAP, etc.). I dette tilfellet vises oppgavene med å integrere to applikasjoner.

For eksempel, i noen applikasjoner (la oss kalle det "X") vil du lese en liste over konfigurasjonsdokumenter. Vi vil ikke snakke om de praktiske fordelene ved å løse et slikt problem, jeg vil bare merke at den mest praktiske og universelle måten i en slik situasjon vil være å laste ut en liste over dokumenter i XML-format.

Utveksling med dette formatet er universelt siden de fleste applikasjoner kan fungere med det. La oss vurdere hvordan det er mulig å laste ut listen over konfigurasjonsdokumenter til en XML-fil fra 1C: Enterprise.

Eksporter til XML

Og så, la oss gå videre til det viktigste. Vi må krysse dokumentmetadatalisten og danne listen i en XML-fil. Følgende skjermbilde viser algoritmen for å generere en XML-fil:

NewXML () Eksportfunksjon // Få navnet på den midlertidige filen Path = GetTemporaryFileName (); // Initialiser XMLWriter-klassen Record = New XML Record; // Åpne en midlertidig fil for skriving- 8 " ) ; // Skriv XML-filerklæringen Innspilling. WriteXMLDeclaration (); // Ta opp. WriteItemStart (" Dokumentkonfigurasjoner" ) ; // Første element // Attributt til det første elementet med datoen for fildannelsen Innspilling. WriteAttribute ("generert", Format (CurrentDate (), "DF = åååå- MM- ddThh: mm: ss; DLF = DT" ) ) ; // Skriv et element for hvert konfigurasjonsdokument. Plasser navnet på dokumentet i teksten. For hver dock fra metadata. Dokumentsyklusopptak. WriteElementStart ("Dokument"); Innspilling. WriteText (Dok. Navn); Innspilling. WriteEndElement (); Slutt på syklus; // Skriv ferdig det første elementet Innspilling. WriteEndElement (); Innspilling. Lukk (); // Lukk filen // Få de binære dataene til filen og legg den i midlertidig lagring BinaryData = New BinaryData (Path); Adresse = PlaceTemporaryStorage (BinaryData, New UniqueIdentifier); Returadresse; // Returner adressen til filen i depotet EndFunction

Hvert element som opprettes må fylles ut riktig. Etter å ha utført "WriteElementBeginning ()"-metoden, må "WriteElementEnd"-metoden kjøres, ellers vil strukturen til XML-filen være feil.

Det generelle mønsteret for å lage XML-filer er følgende sekvens:

// 1. Initialiser klassen "XML Writer" Record = New XML Record; // 2. Åpne en midlertidig fil for opptak Innspilling. OpenFile (bane, "UTF - 8 " ) ; // 3. Skriv erklæringen til XML-filen Innspilling. WriteXMLDeclaration (); // // 4. ++ Skrive innholdet i XML-filen Innspilling. WriteElementStart ("XML-element"); Innspilling. WriteEndElement (); // - Skriv innholdet i XML-filen // 5. Lukk filen Innspilling. Lukk ();

Nesten alle XML-filer opprettes med disse fem trinnene.

I vårt eksempel blir den genererte filen konvertert til binære data og returnert til stedet der GenerateXML-funksjonen ble kalt. Denne filen kan deretter skrives til filsystemet.

Du kan se et eksempel på en opplastet fil i skjermbildet ovenfor.

Tredjepartsapplikasjon

For eksempel opprettet jeg en .NET Framework-applikasjon for å demonstrere hvordan du leser en XML-fil i et tredjepartsprogram.

Programmet leser den opprettede filen og viser dokumentene i form av en liste:

Du kan prøve det selv, applikasjonen er tilgjengelig for nedlasting på lenken på slutten av artikkelen.

Allsidighet

XML-formatet brukes i de fleste konfigurasjoner for datautveksling mellom applikasjonsløsninger på 1C: Enterprise-plattformen. En annen vanlig utvekslingsmetode er en COM-tilkobling. XML lar deg utveksle med nesten hvilken som helst applikasjon, som er det den fortjener å bli kalt universell.

Filer å laste ned:

XML-filleserapplikasjon.

XML-filgenereringsbehandling.