Announcement

Collapse
No announcement yet.

Eingebettete XML Datei

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

  • Eingebettete XML Datei

    Hallo,

    ich möchte eine XML Datei mit wissenschaftlichen Konstanten in mein Programm
    als eingebettete XML Datei benutzen.

    Wie kann ich dann auf diese "Datei" zugreifen ?
    Z.B. in einen DataSet laden ???

    Vielen Dank im voraus

    Stefan

  • #2
    Hallo,

    das folgende Beispiel demonstriert die Vorgehensweise:

    1. XML-Datei über den Solution Explorer dem Projekt hinzufügen

    2. XML-Datei markieren: Properties-Editor: Build Action: <b>Embedded Resource</b>

    3. Namespace <b>System.Reflection</b> einbinden

    4. Projekt compilieren

    5. ILDASM.EXE: Manifest ansehen und die dort gezeigten Ressourcenbezeichnung übernehmen (dabei ist <i>EmbeddedXMLData</i> der Name des Projekts = Assembly-Name):
    <pre>
    .mresource public EmbeddedXMLData.Customers.xml
    </pre>

    6. <b>GetManifestResourceStream</B> lädt die XML-Daten in einen Stream

    7. DataSet-Methode <b>ReadXML</b> lädt die XML-Daten aus dem Stream in das DataSet

    <pre>
    <b>private</b> <b>void</b> button1_Click(<b>object</b> sender, System.EventArgs e)
    {
    System.IO.Stream aResStream;
    aResStream = Assembly.GetExecutingAssembly().GetManifestResourc eStream(
    <font color="#9933CC">&quot;EmbeddedXMLData.Customers.xm l&quot;</font>);
    DataSet aDS = <b>new</b> DataSet();
    aDS.ReadXml(aResStream);
    dataGrid1.DataSource = aDS;
    dataGrid1.DataMember = <font color="#9933CC">&quot;Table&quot;</font>;
    }

    </pre>

    Wenn VS.NET nicht zur Verfügung steht, kann auch der Kommandozeilen-Compiler csc.exe genutzt werden.

    Der C#-Compilier erlaubt es sogar, eine Assembly auch ohne Sourcecode-Datei (.cs) zu kompilieren, wenn diese nur als Ressourcen besteht. Das folgende Beispiel verpackt mehrere Dateien:

    csc /res:Code.dll /res:Bitmap.gif /resata.xml /out:Update2.dll /t:library
    &#10

    Comment


    • #3
      Danke Andreas

      Comment

      Working...
      X