Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Referenzen in XML-Dateien
Quallo
myCSharp.de - Member



Dabei seit:
Beiträge: 992
Herkunft: Nähe Bremen

Themenstarter:

Referenzen in XML-Dateien

beantworten | zitieren | melden

Ist es möglich in XMl-Dateien Referenzen zu machen(beispielsweise über Schlüssel)?

Folgendes: Ich habe in der Datenbank eine Tabelle mit einigen 1000 Textsätzen.
Die haben jeweils ein Format zugeordnet(per Fremdschlüssel auf Primärschlüssel einer anderen Tabelle). In der Format-Tabelle sind etwa 20 Eintragungen, da sich viele Sätze ein Format teilen.

Dieses Prinzip möchte ich in ein XML-Schema(und natürlich auch in die Instanz) übernehmen.
Ich will nicht für jeden der Tausenden Sätze das Format extra in die Datei schreiben, sondern das Format woanders in der XML-Datei ablegen und dann eine Referenz drauf machen.

praktisch so:

<Textliste>
<Text>
<Wert>HalloWelt</Wert>
<Format>Hier soll nicht das Format selbst stehen, sondern nur der Ort, wo es steht, z.b. Format/Id</Format>
</Text>...
</Textliste>


<Formate>
<Format id="1">
<Groesse>5</Groesse>
<Schriftart>Arial</Schriftart>
</Format>
..
</Formate>


Grüße Christoph
private Nachricht | Beiträge des Benutzers
Noodles
myCSharp.de - Experte



Dabei seit:
Beiträge: 4.644
Herkunft: Leipzig

beantworten | zitieren | melden

Wenn ich dich richtig verstehe, dann willst Du eine Relation im Schema abbilden, oder?
Dann lege die Relation in einem DataSet an und lasse Dir dann mal das XML Schema ausgeben, da sieht man es ganz gut.
private Nachricht | Beiträge des Benutzers
Yellow
myCSharp.de - Experte

Avatar #avatar-2347.png


Dabei seit:
Beiträge: 476

Wenn ich die Frage richtig verstanden habe...

beantworten | zitieren | melden

Hallo Quallo,

Referenzen in XML kenne ich jetzt eher als Entitäten um Sonderzeichen oder wiederkehrende Wort- und Satzstücke zu ersetzen. Aber ich nehme frecherweise einfach mal an, da XML eine hierarchische Datenbank ist, dass es so eine Referenzierung wie bei der Schemadefinition nicht gibt. (Lasse mich gerne eines besseren belehren)

Wär' auch Aufwand, wenn sich dort für ein Element Daten ändern würden, aber für die anderen nicht.

Jetzt kommt es natürlich darauf an was Du mit der XML die du generierst vor hast. Wenn Du mit Ihr in .NET oder mit XSLT arbeitest, kannst Du deinen Ansatz im Prinzip weiterverfolgen. Jeder Text hat dann eben einen FormatID, du brauchst dann nur eine zweite XPath-Query, aber was soll's.

-yellow
Selbst ein Weg von tausend Meilen beginnt mit einem Schritt (chinesisches Sprichwort).

Mein Blog: Yellow's Blog auf sqlgut.de
private Nachricht | Beiträge des Benutzers
Quallo
myCSharp.de - Member



Dabei seit:
Beiträge: 992
Herkunft: Nähe Bremen

Themenstarter:

beantworten | zitieren | melden

Danke für eure Antworten.

Hat schon jemand Erfahrung mit Keyref und key, bzw. idref und id gemacht und wie das in eine .Net-Klasse überführt wird mit csd.exe?

Grüße Christoph
private Nachricht | Beiträge des Benutzers
Yellow
myCSharp.de - Experte

Avatar #avatar-2347.png


Dabei seit:
Beiträge: 476

mit idref und id...

beantworten | zitieren | melden

Habe damit noch nicht so direkt Erfahrungen gemacht, aber ich meine, wenn Du im Schema das ID-definierst, kannst du später über die "GetElementByID"-Methode auf das Element zugreifen...

Mehr habe ich mich damit allerdings noch nicht beschäftigt.

-yellow
Selbst ein Weg von tausend Meilen beginnt mit einem Schritt (chinesisches Sprichwort).

Mein Blog: Yellow's Blog auf sqlgut.de
private Nachricht | Beiträge des Benutzers
Quallo
myCSharp.de - Member



Dabei seit:
Beiträge: 992
Herkunft: Nähe Bremen

Themenstarter:

beantworten | zitieren | melden

Naja, ich werde jetzt die deserialisierte Form nehmen. Sollte nachher nicht mehr einen riesigen Unterschied machen(die Datei wird aus einer Datenbank erstellt(via objectserialisierung), gezippt, dann über ftp bereitgestellt, übertragen, und wieder entpackt und eingelesen.

Das dauert lange genug, da macht das kaum noch was aus, ob ein paar Werte mehr oder weniger übertragen werden. Außerdem wird es am anderen Ende sowieso in der denormalisierten Form benötigt.

Grüße und vielen Dank für eure Mühen, Christoph
private Nachricht | Beiträge des Benutzers
FZelle
myCSharp.de - Experte



Dabei seit:
Beiträge: 9.957

beantworten | zitieren | melden

Schonmal von den Comprimierten DataSets gehört?

Und datasets können ja beliebige Relationen abbilden.

http://www.eggheadcafe.com/articles/20040311.asp
private Nachricht | Beiträge des Benutzers