Delphi-PRAXiS
Seite 1 von 8  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   VerySimpleXML: Problem unter iOS? (https://www.delphipraxis.net/178157-verysimplexml-problem-unter-ios.html)

romber 20. Dez 2013 00:16

VerySimpleXML: Problem unter iOS?
 
Hallo!

Ich teste gerade einen Cross-Platform XML Parser namens "VerySimpleXML". Unter Windows und OS X functioniert alles perfekt. Unter iOS wird die XML-Code falsch eingelesen, so dass aus einfachen

Code:
<?xml version="1.0" encoding="UTF-8"?>
<doc>
  <A>element A</A>
  <B>element B</B>
  <C>element C</C>
  <X>element X</X>
  <Y>element Y</Y>
  <Z>element Z</Z>
</doc>
nach dem Einlesen so was wird:

Code:
<?xml version="1.0" ?>
<A>element A
 </A>
  <B>element B
   </B>
    <C>element C
     </C>
      <X>element X
       </X>
        <Y>element Y
         </Y>
          <Z>element Z
           </Z />
          </Z>
         <//Y>
        </Y>
       <//X>
      </X>
     <//C>
    </C>
   <//B>
  </B>
 <//A>
</A>
Kann mir jemand Helfen die Problemstelle zu finden?
Im Voraus vielen Dank!

cydo 20. Dez 2013 07:09

AW: VerySimpleXML: Problem unter iOS?
 
Das sieht ja lustig aus. Ich schaue es mir mal an und werde dann den Programmierer schlagen (aua aua), wenn da was nicht stimmt.
P.S.: Wie kommst Du darauf, dass der Cross-Plattform ist?

romber 20. Dez 2013 07:47

AW: VerySimpleXML: Problem unter iOS?
 
Zitat:

Zitat von cydo (Beitrag 1240476)
Wie kommst Du darauf, dass der Cross-Plattform ist?

In der Source habe ich keine plattformspezifische Code gefunden. Auch auf einer Seite, wo mehrere Parser vergliechen werden, wurde dieser Parser als Cross-Plattform angegeben.

Bernhard Geyer 20. Dez 2013 07:55

AW: VerySimpleXML: Problem unter iOS?
 
Zitat:

Zitat von romber (Beitrag 1240485)
In der Source habe ich keine plattformspezifische Code gefunden. Auch auf einer Seite, wo mehrere Parser vergliechen werden, wurde dieser Parser als Cross-Plattform angegeben.

Wenn kein Plattformspezfischer Code verwendet wird ist er Plattformunabhängig.
Anders wäre es wenn er z.B. mit dem MSXML-Parser eine Komponente verwenden würde die es nur unter Windows gibt.

Ich tipp mal darauf das er im Bereich Plattformunabhängigen Zeilenumbruch beim Beatifiere einen Fehler macht.

romber 20. Dez 2013 08:09

AW: VerySimpleXML: Problem unter iOS?
 
Wäre sehr danbar, wenn Sie mir bei der Fehlersuche helfen würden. Danke!

Union 20. Dez 2013 11:00

AW: VerySimpleXML: Problem unter iOS?
 
Wie erhältst Du die Ausgabe? Bitte mal Demo Source posten.

himitsu 20. Dez 2013 11:46

AW: VerySimpleXML: Problem unter iOS?
 
Ich glaub fast der TStreamReader hat da einen Bug, denn der Dennis er selber behandelt die Zeilenumbrüche nicht selber.
Obwohl TStreamReader.ReadLine eigentlich diesbezüglich OK aussieht. (zumindestens hier im XE)
- außer beim Speichern (und da war der erste Bug, welcher aber nicht zu diesem Fehler führt > Beim mehrmaligen Umstellen von Ident wird der Zeilenumbruch nicht wiederhergestellt)

Ein kleines Demoprojekt wäre dennoch nett, da kann ich das dann nochmal einfach testen.
> Allerdings für Windows, auch wenn es dort funktioniert. (iZeug hab ich nicht und ein Android-Delphi ist mir einfach zu teuer)



Ein/zwei "Problemchen" hab ich jetzt beim Überfliegen des Codes schonmal entdeckt.

Union 20. Dez 2013 11:59

AW: VerySimpleXML: Problem unter iOS?
 
Ich kann den Fehler mit folgendem Code reproduzieren:
Delphi-Quellcode:
const
  Filename = 'verysimplexml.xml';
var
  XMLFile : string;
  XMLObj : TXmlVerySimple;
begin
  XMLFile := TPath.GetDocumentsPath+TPath.DirectorySeparatorChar+FileName;
  if not FileExists(XMLFile) then
    ShowMessage('Datei existiert nicht')
  else
  begin
    XMLObj := TXmlVerySimple.Create;
    XMLObj.LoadFromFile(XMLFile);
    Memo1.Lines.Text := XMLObj.Text;
    XMLObj.Free;
  end;
end;
Ich dachte zunächst dass es vielleicht ein Encoding-Problem sein könnte, aber es funktioniert weder im ANSI noch im UTF8-Format. Bedenklich dabei ist aber das unterschiedliche Verhalten zwischen Windows und iOS.

mkinzler 20. Dez 2013 12:10

AW: VerySimpleXML: Problem unter iOS?
 
Zitat:

Ich dachte zunächst dass es vielleicht ein Encoding-Problem sein könnte, aber es funktioniert weder im ANSI noch im UTF8-Format. Bedenklich dabei ist aber das unterschiedliche Verhalten zwischen Windows und iOS.
Sind ja auch verschiedene Compiler, könnte also schon an Änderungen des Verhaltens des nextgen compilers liegen

cydo 20. Dez 2013 12:13

AW: VerySimpleXML: Problem unter iOS?
 
Wenn Du mir ein komplettes Testprojekt (incl. Testdateien) für iOS (unter welcher Version testest Du es?) schickst, dann kann ich ja mal nach dem Fehler suchen. Eventuell ists auch wirklich der TStreamReader, möglicherweise lässt sich da was umstellen - ich debugge es gerne


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:49 Uhr.
Seite 1 von 8  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz