WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Problem mit fprintf

 

Diach
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 20.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.12.2010, 15:30     Titel: Problem mit fprintf
  Antworten mit Zitat      
Hey Leute!

Ich hab da ein Problem beim Speichern von einer XML-Datei.
Ich bekomme den Inhalt der Datei als String von einem Server und dann speicher ich den String in einer Datei.
Leider hab ich dann in der Datei teilweise folgendes drin stehn:

<BALANCE-INSTRUMENT description="internal balance&#10 ;can also be used in S1" type="Balance"/>

(das leerzeichen vor dem semikolon ist nicht drin aber ohne wirds hier nicht angezeigt Laughing )

Das '&#10 ;' gehört da nicht rein und verursacht beim weiterverarbeiten auch Probleme.
Das ist der ASCII code für "line feed". Weiß einer von euch was ich tun muss, damit das da drin nicht erscheint? Ich hab einfach keine Idee.

mein code sieht wie folgt aus:
Code:
xml_string = getXML(login, password, fileID); % daher bekomme ich den String
xml_file = [path,'\',name,'.xml'];
fid = fopen(xml_file, 'wt','n','UTF-8');
fprintf(fid, '%s', xml_string);
fclose(fid);
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 08.12.2010, 17:37     Titel: Re: Problem mit fprintf
  Antworten mit Zitat      
Hallo Diach,

Zitat:
Das '&#10 ;' gehört da nicht rein und verursacht beim weiterverarbeiten auch Probleme.
Das ist der ASCII code für "line feed".

Nein, & # 10 ; ist kein ASCII-Code, das ist eine HMTL-Character-Reference. Aber der Name ist nebensächlich.

Zitat:
Weiß einer von euch was ich tun muss, damit das da drin nicht erscheint?

Was soll denn stattdessen erscheinen? CHAR(10) oder gar nichts? Dann könntest Du das per STRREP lösen.

Zitat:
Code:

fid = fopen(xml_file, 'wt','n','UTF-8');
 

Ist das File denn UTF-8 kodiert?!

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Diach
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 20.10.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.12.2010, 21:49     Titel:
  Antworten mit Zitat      
Hups. Hatte &#10 ; gegoogelt und da stand dann ASCII aber nix für ungut Smile

Ja im head der XML steht, dass sie UTF-8 ist.

Im Idealfall ist statt dem &#10 ; da halt genau der vom autor gewollte line feed Smile

Aber ich hab das nu mit strrep durch ein leerzeichen ersetzt. Aber der XML-Parser der das Ding dann öffnen soll meckert irgendwie. Ich hab eine Kopie der XML-Datei die nicht mit dem Programm vom Server geladen wurde sonden den Umweg über mein Email Postfach genommen hat und die wird problemlos geschluckt. Augenscheinlich sind die Dateien identisch aber irgendwo muss ja der Wurm drin sein. Es ist zum Haare raufen Smile
Ich kenn mich ja aber mit dem XML Kram auch garnich aus...

Danke schonmal,
Dirk
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2025 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.