Announcement

Collapse
No announcement yet.

Navigation in einem semistrukturiertes XML Dokumemt

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

  • Navigation in einem semistrukturiertes XML Dokumemt

    Hallo Zusammen,

    habe da ein Problem mit XML und dem .NET DataSet. Gegeben ist eine feste Struktur von einem XML Dokument. Dieses XML Dokument wird mit einer XSD Datei in ein DataSet geladen.
    Damit ich alle Daten sehen kann wird es in ein DataGrid angezeigt.

    Beispiel:

    DataSet aDS = new DataSet();
    aDS.ReadXmlSchema(@"C:\Temp\test.xsd");
    System.Xml.XmlDataDocument aXmlDoc;
    aXmlDoc = new System.Xml.XmlDataDocument(aDS);
    aXmlDoc.Load(@"C:\Temp\test.xml");
    dataGrid1.DataSource = aDS.Tables["Parameters"];

    Jetzt möchte ich in diesem XML-Doc auf bestimmte Konten Navigieren als ob das Datensätze wären. Soweit hat das jetzt auch funktioniert.

    private CurrencyManager aCurMan

    aCurMan1 = (CurrencyManager)BindingContext
    [aDS, "Parameter"];

    textBox1.DataBindings.Add("Text", aDS, "Parameter.Description");

    Mein Problem fängt dort an, wo es dann unter Elemente im XML-Doc gibt. Diese Elemente möchte ich in meiner Anwedung so anzeigen als wären diese Master/Detail Beziehung. Das ganze sollte dann auch mit dem einzelne Datensatz syncronisiert werden. Meine bisherigen Versuche mit DataRelation haben zu keinem Erfolg geführt.

    Hat irgendjemand eine Idee oder Erfahrung speziell mit XML und DataSet.

    Gruss

    Markus

    Hier noch ein kleiner Ausschnitt des XML-Docs

    <Parameters>
    ...
    <Parameter>
    <Description>jkhkjhk</Description>
    <ParamName>AIBlockObject</ParamName>
    <Position>
    <VPos>5</VPos>
    <HPos>5</HPos>
    <Commuwin>
    <VPos>6</VPos>
    <HPos>7</HPos>
    </Commuwin>
    </Position>
    <Datatype IsState="not defined" StructureType="DS32">RECORD</Datatype>
    <ElementParameter ListOrder="0" ParamName="AIBlockObjectReserved" />
    <ElementParameter ListOrder="1" ParamName="AIBlockObjectBlockObject" />
    <ElementParameter ListOrder="2" ParamName="AIBlockObjectParentClass" />
    <Communication CommAddressType="COMMUNICATION">
    <Address BusType="PA" CommAddressType="COMMUNICATION">
    <Index>16</Index>
    <Slot>1</Slot>
    <BlockClassType>AI</BlockClassType>
    <ChangeableModeType />
    </Address>
    <Address BusType="SERVICE" CommAddressType="NO_COMMUNICATION" />
    </Communication>
    <Reset>
    <ResetType>TOTAL</ResetType>
    <ResetType>CUSTOMER</ResetType>
    </Reset>
    </Parameter>

  • #2
    Hallo!

    Vielleicht hilft folgendes: Unter http://www.aboutxml.de/xml-corner.zip gibt es eine VS.NET-Projektmappe (aus der XML-Corner des dot.net magazins). Die beinhaltet ein Projekt DataPath, welches den Umgang mit XML und einem DataSet beschreibt. Insbesondere lassen sich mittels XPath einzelne Datensätze selektieren, die dann sowohl im XML-Code als auch als Formular inkl. einer Detailtabelle angezeigt werden.

    Viele Grüße

    Martin
    www.aboutxml.d
    Martin Szugat
    www.aboutxml.de

    Comment

    Working...
    X