Announcement

Collapse
No announcement yet.

Xml Mergen mit C#

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Xml Mergen mit C#

    Hallo Community vom Entwickler-Forum.
    Dies ist mein erster Beitrag habt Nachsicht .
    Nun aber gleich zu meiner bitte.
    Ich soll mehrere Xml Dateien (ohne etwas über die Dateien selbst zu wissen, außer das sie UTF-8 kodiert sind) mittels C# mergen. Dabei sollen alte Daten von neuen überschrieben werden.

    Beispiel:
    Code:
    XML1:
    <?xml version='1.0' encoding='utf-8'?>
    <catalog>
       <book>
          <author>Gambardella, Matthew</author>
          <title>XML Developer's Guide</title>
          <genre>Computer</genre>
          <price>44.95</price>
       </book>
       <book id="bk102">
          <author>Jeanette, Dasha</author>
          <title>Quack the Duck</title>
          <genre>Fantasy</genre>
          <price>5.95</price>
       </book>
       <book id="bk107">
          <kk>4.95</kk>
       </book>
    </catalog>
    
    XML2:
    <?xml version='1.0' encoding='utf-8'?>
    <catalog>
    <book>
          <author>Randall, Cynthia</author>
          <title>Lover Birds</title>
          <genre>Romance</genre>
          <price>4.95</price>
       </book>
    </catalog>
    
    Ergebnis:
    <?xml version='1.0' encoding='utf-8'?>
    <catalog>
       <book>
          <author>Randall, Cynthia</author>
          <title>Lover Birds</title>
          <genre>Romance</genre>
          <price>4.95</price>
       </book>
       <book id="bk102">
          <author>Jeanette, Dasha</author>
          <title>Quack the Duck</title>
          <genre>Fantasy</genre>
          <price>5.95</price>
       </book>
       <book id="bk107">
          <kk>4.95</kk>
       </book>
    </catalog>
    Hier wurden also die Daten von "Gambardella, Matthew" überschrieben, weil "Randall, Cynthia" neuer ist. Anders ausgedrückt: Die neueste XML soll die alte(n) XML Dateien überspielen.
    Das sortieren war noch recht einfach, das "zusammenkleistern" mit Dataset (ds.merge) auch, doch mit der Methode wird nicht der älteste Beitrag überschrieben, sondern es wird immer was rangehängt.

    Code:
    Das Ergebnis sind dann so aus:
    <?xml version='1.0' encoding='utf-8'?>
    <catalog>
       <book>
          <author>Gambardella, Matthew</author>
          <title>XML Developer's Guide</title>
          <genre>Computer</genre>
          <price>44.95</price>
       </book>
       <book id="bk102">
          <author>Jeanette, Dasha</author>
          <title>Quack the Duck</title>
          <genre>Fantasy</genre>
          <price>5.95</price>
       </book>
       <book id="bk107">
          <kk>4.95</kk>
       </book>
       <book>
          <author>Randall, Cynthia</author>
          <title>Lover Birds</title>
          <genre>Romance</genre>
          <price>4.95</price>
       </book>
    </catalog>
    Wie bekomm ich das jetzt so hin wie ich will? Mit Hashtabels wurde es gemacht, soll jedoch mit Dataset bzw. Datatabels schneller/besser gehen. Doof nur das ich beides nicht so recht hinbekomme .
    MfG
    Shunsui
Working...
X