Avatar billede rasmuslh Nybegynder
17. december 2010 - 20:38 Der er 2 kommentarer og
1 løsning

SQLXML 4 Bulkinsert. Modeller XML relationelt

Hej

På mit arbejde får vi XML leveret fra en fabrik indeholdende reklamationer. Jeg skal gerne indlæse det i SQL server og som sådan ser det ud til at virke med XSD. Hver element eller attribut får en sql_field attributte eller tabelnavn og data indlæses fint.
XML'en giver 28 tabeller, men jeg vil gerne inkludere nogle attributter der findes på et element i alle tabeller der findes.

Simpelthen for at binde det der er forretningsnøglen til alle de records der er associeret med denne.

EX:

<Root>
    <Element1 sagid="" dato="">
    <Element2>
    <Element3>
    <Element4>
<Root>

Giver tabellerne 1, 2, 3, 4. Der findes nogle attributter på Element1 (sagid og dato)som jeg også gerne vil have i Tabel2, tabel3, tabel4.

Er det muligt i XSD at hente elementer fra siblings og hvordan gør man?

her er hvordan min Root XSD ser ud:


<xsd:element name="XYZ1" sql:is-constant="1">
        <xsd:complexType>
            <xsd:sequence>
                <xsd:element name="XYZ2" minOccurs="0" maxOccurs="unbounded" sql:is-constant="1">
                    <xsd:complexType>
                        <xsd:sequence>
                            <xsd:element name="XYZ3" type="claim" sql:relation="Claim" />
                            <xsd:element name="XYZ4" type="additional_information" sql:relation="AdditionalInformation" />
                            <xsd:element name="XYZ5" type="control" sql:relation="Control" />
                            <xsd:element name="XYZ6" type="data" sql:relation="Data" />
                            <xsd:element name="XYZ7" type="contract" sql:relation="Contract" />
                        </xsd:sequence>
                    </xsd:complexType>
                </xsd:element>
            </xsd:sequence>
    </xsd:element>

På forhånd tak.
Avatar billede tjens Nybegynder
18. december 2010 - 22:06 #1
Jeg vil mene, at den XML-fil du viser ikke afspejler en gyldig datastruktur.

Det skal være Parent-elementet du henter nøglefelter fra i XSD.

Hvis slut-tagget </Element1> kom efter Element4 ville du have en gyldig struktur.


Så du kan næsten lige så godt, bare læse filen igennem som en tekst fil, og trække felterne ud med noget streng-gymnastik.
Avatar billede rasmuslh Nybegynder
18. december 2010 - 22:19 #2
Mit eksempel på med Root og Element1 ... Element4 var blot for at forklare problematiken.

Den XSD der er vist nedenfor er den jeg har modtaget fra fabrikken der leverer XML'en. jeg har blot mappen elementerne til nogle tabeller.
Avatar billede rasmuslh Nybegynder
02. januar 2011 - 14:12 #3
lukker spg
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
Kurser inden for grundlæggende programmering

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