21. juni 2003 - 03:03
Der er
14 kommentarer og 1 løsning
XML oversigt over en database.
Hvordan ville man lave en oversigt over en database i xml. Jeg har lavet det sådan, men ved ikke om det er den rigtige måde at gøre det på. <?xml version="1.0" encoding="ISO-8859-1"?> <Database> <Table> <Name>Tabel1</Name> <Field> <Name>ID</Name> <Name>Felt1</Name> <Name>Felt2</Name> <Name>Felt3</Name> </Field> </Table> <Table> <Name>Tabel2</Name> <Field> <Name>ID</Name> <Name>Felt1</Name> <Name>Felt2</Name> <Name>Felt3</Name> </Field> </Table> <Query> <Name>Forespørgsel1</Name> <Field> <Name>Tabel1.ID</Name> <Name>Tabel2.ID</Name> <Name>Tabel1.Felt1</Name> <Name>Tabel2.Felt1</Name> </Field> </Query> <Query> <Name>Forespørgsel2</Name> <Field> <Name>Tabel1.ID</Name> <Name>Tabel2.ID</Name> <Name>Tabel1.Felt2</Name> <Name>Tabel2.Felt2</Name> </Field> </Query> <Query> <Name>Forespørgsel3</Name> <Field> <Name>Tabel1.ID</Name> <Name>Tabel2.ID</Name> <Name>Tabel1.Felt3</Name> <Name>Tabel2.Felt3</Name> </Field> </Query> </Database>
Annonceindlæg fra QNAP
Jov,m det er sq fint fint! Men je gvil nok mene du godt kunne fjerne <Field> og </Field> alle stederne, de er lidt overskydende! Det er oxo træls at skulle hive dem ud i programmering! //>Rune
Jeg mener ikke at din XML er tilstrækkelig ... Hvad du bl.a. mangler er datatyper --- Er felt1 f.eks. en tekststreng eller er det et tal -- Og er det en primærnøgle. Og så bør man jo lige kommentere at en forspørgsel ikke kun er en samling af poster (fields) men bør også repræsentere forholdet mellem dem... Derfor ville jeg som det mindste indsætte et eller andet SQL statement i dine queries... Til sidst - hvis du absolut vil gøre det ordenligt i XML, så burde du måske sætte dig ned og lave enten en DTD eller et schema for din struktur, så din XML også kan valideres. /Søren Munk Skrøder
hvis du har mysql 4.1 så kan du forresten få den til at lave XML ved at bruge mysql -X f.eks. har jeg en tabel, som hedder snydekoder, som man kan bede om at få beskrevet med "describe" keywordet... Og der var outputtet følgende : <?xml version="1.0"?> <resultset statement="describe snydekoder"> <row> <Field>id</Field> <Type>int(11) unsigned</Type> <Collation>binary</Collation> <Null></Null> <Key>PRI</Key> <Default>NULL</Default> <Extra>auto_increment</Extra> </row> <row> <Field>titel</Field> <Type>varchar(100)</Type> <Collation>latin1_swedish_ci</Collation> <Null></Null> <Key></Key> <Default></Default> <Extra></Extra> </row> <row> <Field>kode</Field> <Type>text</Type> <Collation>latin1_swedish_ci</Collation> <Null></Null> <Key></Key> <Default></Default> <Extra></Extra> </row> <row> <Field>placering</Field> <Type>char(1)</Type> <Collation>latin1_swedish_ci</Collation> <Null></Null> <Key></Key> <Default>#</Default> <Extra></Extra> </row> <row> <Field>oprettet</Field> <Type>datetime</Type> <Collation>latin1_swedish_ci</Collation> <Null>YES</Null> <Key></Key> <Default>NULL</Default> <Extra></Extra> </row> </resultset>
Jeg skulle måske havede sagt at det er en MS Access Database... Det skal bruges til en lille server hvor man sender en SQLString og for det tilbage i XML, men for at kunne gøre det skal man vide hvad der er af tabler osv... Problemet er bare lige, hvor meget info der skal sendes for at vide havd der er af tabler osv... i databasen, og hvordan det ville se ud som XML. Er det nok, eller hvorda kunne man ellers gøre?? <?xml version="1.0" encoding="ISO-8859-1"?> <Database> <Table> <Name>Tabel1</Name> <Field> <Name Attributes="17" Type="4" Size="4">ID</Name> <Name Attributes="1" Type="8" Size="8">Dato</Name> <Name Attributes="1" Type="4" Size="4">Tal</Name> <Name Attributes="2" Type="10" Size="50">Tekst</Name> <Name Attributes="2" Type="12" Size="0">Notes</Name> <Name Attributes="1" Type="5" Size="8">Valuta</Name> <Name Attributes="1" Type="1" Size="1">Ja/Nej</Name> <Name Attributes="2" Type="11" Size="0">OLE-objekt</Name> <Name Attributes="32770" Type="12" Size="0">Hyperlink</Name> </Field> </Table> </Database>
ved ikke så meget om XML, og har ikke tid til at læse om det. :(
hvis Type peger på en eller anden datatype, og du ikke ønsker at holde øje med ekstrainformation som f.eks. autonummerering eller primærnøgler, så er det vel ok... Jeg unders dog over, hvad attributes skal bruges til ... og for "læsbarhedens" skyld ville jeg nok opstille det som <database> <table name="tabel1> <field name="id" type="..." ... /> <field name="dato" type"..." ... /> osv. </table> </database>
ok.. så må det være sådan ik.. <?xml version="1.0" encoding="ISO-8859-1"?> <database> <table name="Tabel1"> <field name="ID" attributes="17" type="4" size="4"/> <field name="Dato" attributes="1" type="8" size="8"/> <field name="Tal" attributes="1" type="4" size="4"/> <field name="Tekst" attributes="2" type="10" size="50"/> </table> <query name="Forespørgsel1"> <field name="Tabel1.ID" attributes="17" type="4" size="4"/> <field name="Tabel1.Dato" attributes="1" type="8" size="8"/> <field name="Tabel1.Tal" attributes="1" type="4" size="4"/> <field name="Tabel1.Tekst" attributes="2" type="10" size="50"/> </query> </database>
hvad med sql'en omkring din forspørgel ... Den giver ikke nogen mening uden...
det må være sådan så... <?xml version="1.0" encoding="ISO-8859-1"?> <database name="db1"> <table name="Tabel1"> <field name="ID" attributes="17" type="4" size="4"/> <field name="Dato" attributes="1" type="8" size="8"/> <field name="Tal" attributes="1" type="4" size="4"/> <field name="Tekst" attributes="2" type="10" size="50"/> <field name="Notes" attributes="2" type="12" size="0"/> <field name="Valuta" attributes="1" type="5" size="8"/> <field name="Ja/Nej" attributes="1" type="1" size="1"/> <field name="OLE-objekt" attributes="2" type="11" size="0"/> <field name="Hyperlink" attributes="32770" type="12" size="0"/> </table> <table name="Tabel2"> <field name="ID" attributes="17" type="4" size="4"/> <field name="Felt1" attributes="2" type="10" size="50"/> <field name="Felt2" attributes="2" type="10" size="50"/> <field name="Felt3" attributes="2" type="10" size="50"/> </table> <query name="Forespørgsel1"> <field name="Tabel1.ID" attributes="49" type="4" size="4"/> <field name="Tabel2.ID" attributes="49" type="4" size="4"/> <field name="Dato" attributes="33" type="8" size="8"/> <field name="Ja/Nej" attributes="33" type="1" size="1"/> <field name="Felt2" attributes="34" type="10" size="50"/> <field name="Felt3" attributes="34" type="10" size="50"/> </query> </database>
21. juni 2003 - 16:45
#10
Det ser ud til at jeg godt kunne have sat point til 60 :-)
21. juni 2003 - 16:47
#11
ser det rigtig ud??
21. juni 2003 - 18:29
#12
udfra hvad jeg kan forstå du gerne vil have, så burde ovenstående være tilstrækkelig...
21. juni 2003 - 19:03
#13
Når nu tror jeg den er god kan den ikke bruges... <?xml version="1.0" encoding="ISO-8859-1"?> <database name="db1.mdb" version="3.0"> <table name="Tabel1"> <field name="ID" type="Autonumbering" size="4"/> <field name="Felt1" type="Text" size="50"/> <field name="Felt2" type="Note" size="0"/> <field name="Felt3" type="Number" size="4"/> <field name="Felt4" type="Date and hour" size="8"/> <field name="Felt5" type="Currency" size="8"/> <field name="Felt6" type="Boolean" size="1"/> <field name="Felt7" type="OLE-object" size="0"/> <field name="Felt8" type="Hyperlink" size="0"/> </table> <table name="Tabel2"> <field name="ID" type="Autonumbering" size="4"/> <field name="Felt1" type="Text" size="50"/> <field name="Felt2" type="Text" size="100"/> <field name="Felt3" type="Text" size="255"/> </table> <query name="Forespørgsel1"> <field name="Tabel1.ID" type="Autonumbering" size="4"/> <field name="Tabel1.Felt1" type="Text" size="50"/> <field name="Tabel1.Felt2" type="Note" size="0"/> <field name="Tabel1.Felt3" type="Number" size="4"/> <field name="Felt4" type="Date and hour" size="8"/> <field name="Felt5" type="Currency" size="8"/> <field name="Felt6" type="Boolean" size="1"/> <field name="Felt7" type="OLE-object" size="0"/> <field name="Felt8" type="Hyperlink" size="0"/> <field name="Tabel2.ID" type="Autonumbering" size="4"/> <field name="Tabel2.Felt1" type="Text" size="50"/> <field name="Tabel2.Felt2" type="Text" size="100"/> <field name="Tabel2.Felt3" type="Text" size="255"/> </query> </database>
21. juni 2003 - 19:07
#14
Tak for hjælpen :-)
21. juni 2003 - 19:07
#15
den er fjong..
Kurser inden for grundlæggende programmering