.
Anmeldung | Registrieren | Hilfe
in Suchen

Null Werte bei dataset.getXml()

Letzter Beitrag 08. Jun 2012 11:26 von Eponky. 1 Antworten.
Seite 1 von 1 (2 Treffer)
Beiträge sortieren: Zurück Weiter
  • 08. Jun 2012 9:13

    • Eponky
    • Nicht gereiht
    • Registriert am 05. Jun 2012
    • Beiträge 2
    • Punkte 10

    Null Werte bei dataset.getXml()

    Guten Morgen!

    ich habe ein kleines problem mit meinem XML. Und zwar habe ich ein kleines Tool entwickelt, in dem ich eine CSV Datei in eine XML Datei konvertiere.

    Dass funktionniert auch alles, nun soll diese XML datei eine xsd Datei respektieren. Auch OK.

    Ich hbae in der XML Datei die werte auf nillable = true gestellt. Wenn ich jedoch in meiner XML Datei einen Nullwert habe, bekomme ich einen Fehler, da ich bei den Elementen xsi:nil = "true" setzen muss.

    Wie kann ich dies machen? hier mein Code :

    while (sLigne != null && result=="")

    {

    zeile = sLigne.Split(_separator);

    if (zeile.Length > csvDataTable.Columns.Count)

    {

    result = "In der Quelldatei sind mehr Datensetze als erwartet";

    }

    else

    {

    csvDataTable.Rows.Add(sLigne.Split(_separator));

    sLigne = stream.ReadLine();

    }

    }

    if (result == "")

    {

    verifyItem(csvDataTable);

    csvDataSet.Tables.Add(csvDataTable);

    // XML wird geschrieben

    doc = new XmlDocument();

    doc.InnerXml = csvDataSet.GetXml();

     

    So sieht die generierte  xml aus :

    <Addresses>

    <Address>

    <Lastname>achtung</Lastname>

    <Firstname>xdcfgt</Firstname>

    <Birthdate /> hier kommt ein Fehler

    <SexId>2</SexId>

    <MaritalStatusId>1</MaritalStatusId>

    <LanguageId /> hier kommt ein Fehler es sollte sein <LanguageId xsi:nil = "true"/>

    <Address>3 Grande rue</Address>

    <Address_add />

    <Country_ISO>FR</Country_ISO>

    <ZipCode>68000</ZipCode>

    <Location>Colmar</Location>

    <PhonePrivate>123456789</PhonePrivate>

    <PhoneBusiness>01712569875</PhoneBusiness>

    <Mobile>01712569875</Mobile>

    <EMail>Cel@Muster.com</EMail>

    </Address>

    </Addresses>

    Habt Ihr eine Idee wie ich es setzen könnte, habe es schon mit den Atrribute versucht.. aber funktionniert nicht.

     

    Viele Grüsse,

    Céline

    Abgelegt unter:
    • IP-Adresse ist Registriert
  • 08. Jun 2012 11:26 Antwort zu

    • Eponky
    • Nicht gereiht
    • Registriert am 05. Jun 2012
    • Beiträge 2
    • Punkte 10

    Null Werte bei dataset.getXml()

    Habe es herausgefunden,

    Falls jemand dass selbe sucht : doc ist dass XML document

    doc.DocumentElement.SetAttribute("xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance");

    XmlAttribute xsinil = doc.CreateAttribute("xsi:nil", "http://www.w3.org/2001/XMLSchema-instance");

    xsinil.Value = "true";

     

    XmlElement root = doc.DocumentElement;

    foreach (XmlNode node in root.ChildNodes)

    {

    foreach (XmlNode child in node.ChildNodes)

    {

    if (child.HasChildNodes==false)

    {

    child.Attributes.SetNamedItem(xsinil);

    }

    }

    }

    • IP-Adresse ist Registriert
Seite 1 von 1 (2 Treffer)

WPF Forum | ASP.NET Forum | ASP.NET MVC Forum | Silverlight Forum | Windows Phone 7 Forum | SharePoint Forum | Dotnet Jobs | Dotnet Termine | Developer Blogs | Dotnet News

Das Team | Regeln | Impressum