Autor Beitrag
JM80
Hält's aus hier
Beiträge: 10



BeitragVerfasst: So 08.04.12 10:31 
Moderiert von user profile iconTh69: abgeteilt von Nur bestimmte Elemente aus XML-Datei in DataGridView anzeigen

Guten Morgen und frohe Ostern!

Leider bin ich noch immer nicht weiter gekommen. Aber dafür ist mir ein weiteres Problem begegnet.
Wenn ich eine weitere ChannelNo eingebe und das geänderte Dataset mit MyDataSet.WriteXml(filePath); wieder als xml speichere, dann wird die hinzugefügte Zeile an der falschen Stelle gespeichert.
Das Ändern einer ChannelNo funktioniert hingegen einwandfrei.

Das hier ist die xml-Datei, nachdem ich ChannelNo 2 in 22 geändert habe und einen Channel 107 hinzugefügt habe.
Der Channel 107 wurde in der vorletzten Zeile nach </Favoritelist> hinzugefügt, er müßte aber vorher innerhalb einer <FavoriteGroup> eingetragen werden.

ausblenden volle Höhe XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
<?xml version="1.0" standalone="yes"?>
<Servicelist xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <Favoritelist>
    <FavoriteGroup>
      <Name>Group1</Name>
      <ServiceType>TV</ServiceType>
      <ChannelNo>1</ChannelNo>
      <ChannelNo>22</ChannelNo>
      <ChannelNo>3</ChannelNo>
    </FavoriteGroup>
    <FavoriteGroup>
      <Name>Group2</Name>
      <ServiceType>TV</ServiceType>
      <ChannelNo>4</ChannelNo>
      <ChannelNo>5</ChannelNo>
      <ChannelNo>6</ChannelNo>
    </FavoriteGroup>
    <FavoriteGroup>
      <Name>Group3</Name>
      <ServiceType>TV</ServiceType>
    </FavoriteGroup>
    <FavoriteGroup>
      <Name>Group4</Name>
      <ServiceType>Radio</ServiceType>
      <ChannelNo>101</ChannelNo>
      <ChannelNo>102</ChannelNo>
      <ChannelNo>103</ChannelNo>
    </FavoriteGroup>
    <FavoriteGroup>
      <Name>Group5</Name>
      <ServiceType>Radio</ServiceType>
      <ChannelNo>104</ChannelNo>
      <ChannelNo>105</ChannelNo>
      <ChannelNo>106</ChannelNo>
    </FavoriteGroup>
    <FavoriteGroup>
      <Name>Group6</Name>
      <ServiceType>Radio</ServiceType>
    </FavoriteGroup>
  </Favoritelist>
  <ChannelNo>107</ChannelNo>
</Servicelist>


Ich hab mir mal mit
ausblenden C#-Quelltext
1:
2:
3:
            System.IO.StringWriter swXML = new System.IO.StringWriter();
            MyDataSet.WriteXmlSchema(swXML);
            textBox2.Text = swXML.ToString();

das Schema ausgeben lassen, welches nun folgt.

ausblenden volle Höhe XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
<?xml version="1.0" encoding="utf-16"?>
<xs:schema id="Servicelist" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
  <xs:element name="Servicelist" msdata:IsDataSet="true" msdata:Locale="en-US">
    <xs:complexType>
      <xs:choice minOccurs="0" maxOccurs="unbounded">
        <xs:element name="Favoritelist">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="FavoriteGroup" minOccurs="0" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Name" type="xs:string" minOccurs="0" />
                    <xs:element name="ServiceType" type="xs:string" minOccurs="0" />
                    <xs:element name="ChannelNo" nillable="true" minOccurs="0" maxOccurs="unbounded">
                      <xs:complexType>
                        <xs:simpleContent msdata:ColumnName="ChannelNo_Text" msdata:Ordinal="0">
                          <xs:extension base="xs:string">
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:choice>
    </xs:complexType>
  </xs:element>
</xs:schema><Servicelist xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">



Gruß Jana