tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
578
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Babatune Babatune ist offline Mitglied
    Registriert seit
    Mar 2011
    Beiträge
    23
    Hallo zusammen,

    ich hab ein Problem bei der Bearbeitung eines XML files mit C#

    Das XML hat die Form:

    <root>
    <Personen>
    <Person Name="Ba"/>
    </Personen>
    </root>

    Ich bearbeite das File mit:

    XmlDocument xd = new XmlDocument();
    xd.Load(path);
    XmlNode node = xd.SelectSingleNode("/root/Personen/Person");
    node.Attributes["Name"].InnerText = "Bu";
    xd.save(path);


    Jetzt ist mein Problem dass die Struktur des Files dabei folgendermaßen verändert wird:
    aus
    <Person Name="Ba"/>
    wird
    <Person Name="Bu">
    </Person>

    Kann ich diese Erweiterung irgendwie verhindern? Ich muss das file danach noch mit einer festern Verarbeitungsmethode weiter verarbeiten und mit dieser Struktur ist das nicht mehr möglich.

    viele Grüße,
    Babatune
     

  2. #2
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Hallo,

    ich wüsste nicht, dass man das verhindern kann. Warum hat die nachfolgende Verarbeitungsmethode Probleme damit? Es ist doch valides XML.

    Gruß
    MCoder
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  3. #3
    Babatune Babatune ist offline Mitglied
    Registriert seit
    Mar 2011
    Beiträge
    23
    gibt mir die Fehlermeldung:
    no character data is allowed by content model
     

  4. #4
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Zitat Zitat von Babatune Beitrag anzeigen
    gibt mir die Fehlermeldung:
    no character data is allowed by content model
    Kannst du sagen, welche Methode diesen Fehler produziert?
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

  5. #5
    Babatune Babatune ist offline Mitglied
    Registriert seit
    Mar 2011
    Beiträge
    23
    Das Programm ist nicht von mir und ich hab auch nicht die Möglichkeit es zu bearbeiten.

    Ich hab nun aber rausgefunden dass beim speichern eben
    Code :
    1
    
    <Person Name = "ba"  ></Person>
    zu
    Code :
    1
    2
    
    <Person Name = "ba" >
    </Person>
    wird, wobei ich hier nicht nur einen Zeilenumbruch haben, sondern der Zwischenraum mit einigen Leerzeichen befüllt wurde.

    Da das Programm mit dem ich das File weiter bearbeiten muss hier aber keinen Eintrag erlaubt, und die Leerzeichen wohl als Eintrag aufgenommen werden bekomm ich den Fehler


    Ich bin grad ein wenig ratlos, ob ich versuchen soll das xml auf eine andere Art und Weise bearbeiten soll, wo mir das vielleicht nicht passiert, oder ob es doch eine Formatierungsmöglichkeit gibt die diese Umstellung verhindert?
     

  6. #6
    Avatar von Shakie
    Shakie Shakie ist offline Mitglied Diamant
    Registriert seit
    May 2004
    Ort
    Europa
    Beiträge
    2.048
    Aber das sieht ja so aus, als hätte das Nicht-von-dir-Programm einen Bug. Eventuell mal nach neuer Version suchen oder das Problem in dessen Forum diskutieren?
     
    hihi = -h²

  7. #7
    Babatune Babatune ist offline Mitglied
    Registriert seit
    Mar 2011
    Beiträge
    23
    Habs jetzt so gemacht:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    
    XmlDocument doc = new XmlDocument();
     
    FileStream fsin = new FileStream(pathXMLIn,FileMode.Open,FileAccess.Read,FileShare.ReadWrite);
     
    doc.Load(fsin);
     
    XmlWriterSettings writeSet = new XmlWriterSettings();
    writeSet.Indent = true;
    XmlWriter xmlWriter = XmlWriter.Create(pathXMLOut, writeSet);
     
    doc.Save(xmlWriter);

    so funktionierts jetzt auch endlich
     

Ähnliche Themen

  1. ungewollte Skalierung bei Klonteilung
    Von berskr im Forum Cinema 4D
    Antworten: 4
    Letzter Beitrag: 26.08.10, 21:31
  2. ICQ ungewollte Russian Connection?
    Von HORNSWOGGLE im Forum Security (Viren, Trojaner, Spam)
    Antworten: 2
    Letzter Beitrag: 22.12.08, 17:48
  3. ungewollte mehrfache Datenausgabe
    Von Eiszwerg im Forum PHP
    Antworten: 1
    Letzter Beitrag: 20.06.04, 19:27
  4. Ungewollte horizontale Scrollbalken
    Von Ace im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 22.01.04, 19:30
  5. Ungewollte Weiteleitung...?
    Von Bionicman im Forum PHP
    Antworten: 6
    Letzter Beitrag: 06.11.02, 09:06