Zitat |
Original von smilingbandit
-Kann man sozusagen "Normalformen" damit Realisieren? Also dass es in XML mehrere Ebenen gibt (Tabelle 1 Zeigt nur IDs, die IDs verweisen jeweils auf eine Tabelle mit Werten drin) |
Grundsätzlich ja. Du kannst DataRelations auch per Xml abbilden und nutzen. Grundlage ist ein XSD-Schema, das z.B. die Tabellen ORT mit den Feldern ID, Name sowie PLZ mit den Feldern PLZ, Ort_ID enthält und dazu festlegt:
<!-- PrimaryKey für ORT -->
<xs:unique msdata:PrimaryKey="true" name="Ort_PK">
<xs:selector xpath=".//ORT" />
<xs:field xpath="ID" />
</xs:unique>
<!-- PrimaryKey für PLZ -->
<xs:unique msdata:PrimaryKey="true" name="PLZ_PK">
<xs:selector xpath=".//PLZ" />
<xs:field xpath="ID" />
</xs:unique>
<!-- ForeignKey / DataRelation für PLZ auf ORT -->
<xs:keyref name="PLZ_FK_Ort" refer="Ort_PK">
<xs:selector xpath=".//PLZ" />
<xs:field xpath="Ort_ID" />
</xs:keyref>
Für Einzelheiten könntest Du Dir ein DataSet mit DataTables erstellen (auf welchem Weg auch immer), dazu das Schema speichern mit WriteXmlSchema() und dann das Schema untersuchen.
Zitat |
-Ist es möglich, eine Datei auf diese Art zu öffnen, und und dabei nicht ihren Inhalt komplett zu überschreiben sondern |
Eher nein. Mit
ReadXml/WriteXml() wird immer die
vollständige Datei eingelesen. Du könntest allenfalls versuchen, die Datei als XmlDocument manuell einzulesen und zu untersuchen; aber das wird vermutlich viel zu aufwändig.
Zitat |
-Bestimmte Einträge zu suchen und dann anhand eines Kriteriums zu löschen? |
Aus dem gleichen Grund: faktisch nicht möglich.
In der Praxis ist eine Xml-Datei als Datenbank-Ersatz geeignet als Nachschlagetabelle (z.B. für die Liste der PLZ/Ortsnamen), zum Datenaustausch und für kleine Dateien, die nur selten und/oder von einer einzelnen Stelle aus bearbeitet werden.
Ich hoffe, Du kannst mit diesen Hinweisen etwas anfangen. Jürgen