XML Parsing

XML Parsing discussie in Ontwikkelen voor iOS forum; ( verdwijnt na registratie ) Ik heb een XML bestand die gebruikt maakt van de volgende encoding: Code: <?xml version="1.0" encoding="windows-1252"?> Bij het uitlezen hiervan krijg ik van NSXMLParser de ...



Ga terug   iPhone, iPod touch, iPad en Apple TV forum > Development > Ontwikkelen voor iOS
Wachtwoord vergeten? Registreren!
Registreer FAQ Ledenlijst Kalender Zoeken Berichten van vandaag Markeer forums als gelezen
  #1  
Oud 7 August 2009, 14:24
» iPhone 4S 16GB (Zwart) [FW: 5.0.1]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 16GB [FW: 5.0.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 26 January 2009
Berichten: 113
Standaard XML Parsing

Ik heb een XML bestand die gebruikt maakt van de volgende encoding:
Code:
<?xml version="1.0" encoding="windows-1252"?>
Bij het uitlezen hiervan krijg ik van NSXMLParser de 31 error, m.a.w. de encoding is niet bekend. Als ik het weghaal, dan wil die wel parsen maar stopt het op een gegeven moment met error 6, invalid character. Kan NSXMLParser deze encoding aan, of moet ik een andere XML library gebruiken? Indien dit laatste, enige suggesties?

Grtz Mark
Advertentie
Advertentie Gesponsorde links (verdwijnt na registratie)

  #2  
Oud 7 August 2009, 14:29
ideveloper's schermafbeelding
» iPhone 4S 64GB (Zwart) [FW: 5.1]  [Jailbreak: Nee]
» iPad 3 Wi-Fi +4G 64GB (Zwart) [FW: 5.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 2 April 2008
Locatie: Bodegraven
Berichten: 339
Send a message via twitter to ideveloper
Standaard

Hier een developer met het zelfde probleem Grio Blog: Feel My Pain: NSXMLParser Problems Upgrading to the iPhone 3.0 SDK

Helemaal onder in de comments schrijft hij een oplossing gevonden te hebben. Ik zou zeggen, probeer eens of dit wat is.
  #3  
Oud 7 August 2009, 14:30
» iPhone 4S 16GB (Zwart) [FW: 5.0.1]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 16GB [FW: 5.0.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 26 January 2009
Berichten: 113
Standaard

Bedankt, ga het artikel direct lezen.

edit:
Omg zo lame, was er zo dichtbij. Het leek mij het meest logisch om de string die encoded is in Windows1252 bij NSData ook te gebruiken maar door NSUTF8StringEncoding te gebruiken is het probleem opgelost.

Nogmaals bedankt iDeveloper!

edit2:
Okay het parsed het wel, maar nu niet goed Een tag als
<book:title>Schildpad</book:title>
<book:subtitle>en de haas</book:subtitle>

Gaat fout met parsen:
book:title = Schildpad (dat gaat nog goed, maar dan)
en de haas = en de haas (nu gaat het fout en snap niet waarom, misschien door de foute encoding)

NSXMLParser is heel rottig Misschien moet ik toch maar aan een andere parser denken, iemand ervaring met TouchXML ?

Laatst gewijzigd door Bomans; 7 August 2009 om 15:18. Reden: edit-knop gebruiken aub!
  #4  
Oud 7 August 2009, 15:04
» iPhone 5s 16GB (Goud) [FW: 7.1.2]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 16GB [FW: 5.1.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 12 January 2009
Berichten: 484
Standaard

misschien snapt ie het formaat niet helemaal. en zal je iets moeten gebruiken als:

Code:
<book>
  <title>De schildpad</title>
  <subtitle>En de Haas</subtitle>
</book>
of

Code:
<book title="De schildpad" subtitle="En de Haas"/>
__________________
Software Engineer
iPhone Developer
  #5  
Oud 7 August 2009, 15:14
» iPhone 4S 16GB (Zwart) [FW: 5.0.1]  [Jailbreak: Nee]
» iPad 1 Wi-Fi 16GB [FW: 5.0.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 26 January 2009
Berichten: 113
Standaard

Ja dat zou 100% helpen, maar ik wil het liefst zo weinig mogelijk ofwel niet de XML content aanpassen ivm dat het wordt aangeleverd door een bedrijf.

Maar heb een manier gevonden die werkt, heb een category gemaakt van NSXMLParser die deze class uitbreid met escapeSpecialChars en dat werkt uitstekend.

Bedankt voor jullie hulp!
  #6  
Oud 13 August 2009, 22:23
danielpunt's schermafbeelding
» iPhone 3G 16GB (Wit) [FW: 4.1]  [Jailbreak: Nee]
» Mac OS X
 
Geregistreerd: 19 December 2007
Locatie: Vlaardingen
Berichten: 87
Standaard

oei, dat zijn XML namespaces en dat is echt een horror met NSXMLParser. ik heb er ook eens mee te maken gehad en gelukkig kon ik toen zelf de XML aanpassen zonder namespaces. heeft mij veel tijd gescheeld.

ben benieuwd hoe je het hebt opgelost, zou je wat kunnen delen?

voor de rest is er overigens niks mis met NSXMLParser, ik gebruikte eerst TouchXML maar mijn NSXMLParser was sneller en het geheugen gebruik was ook minder. Heb geen hele uitgebreide tests gedaan maar het scheelde zeker wel
Reageren


Er zijn 1 actieve gebruikers die momenteel deze discussie bekijken (0 leden en 1 gasten)

 
Discussietools
Weergave

Soortgelijke discussies

Discussie Auteur Forum Reacties Laatste bericht
Oplossing voor Error: database , Problem Parsing Dependency Conflicts cardwizard Jailbreak apps en thema's 7 24 March 2011 17:16
XML Parser Dreissen Ontwikkelen voor iOS 5 17 November 2010 16:24
Parsing mixed XML soap response MacShack Ontwikkelen voor iOS 4 5 February 2010 18:58
Eerste XML App Tim14ww Ontwikkelen voor iOS 26 6 September 2009 15:01
.xml op iphone Maximilius Archief 1 12 December 2008 21:23

Regels voor berichten
Je mag geen nieuwe discussies starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit
Trackbacks are Aan
Pingbacks are Aan
Refbacks are Uit



Alle tijden zijn GMT +2. Het is nu 06:06.