iCulture forum | iPhone, iPad,  iPod touch, Apple TV en iOS

iCulture forum | iPhone, iPad, iPod touch, Apple TV en iOS (https://forum.iculture.nl/)
-   Ontwikkelen voor iOS (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/)
-   -   XML parser het lukt niet helemaal (https://forum.iculture.nl/f133/development/f58/ontwikkelen-voor-ios/33926-xml-parser-lukt-niet-helemaal.html)

Dreissen 09-05-09 14:17

XML parser het lukt niet helemaal
 
Hallo,

Ik ben een klein XML parser script aan het ombouwen om zo iets ervaring op te doen in de code's hopelijk leer ik er een beedje van.
Maar een ding lukt me niet.

De gegeven haal ik uit een XML bestand in het script of op het internet.

Hier een screen hoe het uitziet: (niet door mij gemaakt)
http://lh4.ggpht.com/_ixq8Dp4ESMo/SY...76/Screen2.jpg

Het onderste vakje summary wil ik een stukje groter zodat er meer informatie in kan heeft iemand enig idee hoe ik dit doe?

Bedankt.

De code staat hier: Parsing XML Files - iPhone SDK Articles

Ik heb al heel veel geprobeerd maar ik kom er op de een of andere manier niet uit.

Sleepy 09-05-09 16:00

Ik zou zeggen probeer textview...... in plaats van textbox

Succes

Dreissen 09-05-09 16:22

Maar dat is het probleem het gaat niet via een xib file maar via code ik vind het stukje niet waar dit staat.
Ik heb nu wat geprobeerd hij de app laat wel tot ik op een item klik dan crasht de applicatie.

danielpunt 11-05-09 11:49

Wat is dan de error die je krijgt? Er is een console waar in de foutmelding staat :)

Dreissen 11-05-09 21:00

Citaat:

Oorspronkelijk geplaatst door danielpunt (Bericht 285459)
Wat is dan de error die je krijgt? Er is een console waar in de foutmelding staat :)

Ik krijg geen error maar ik wil het onderste vakje (summary) groter hebben zodat er meer tekst in kan ik kom er alleen niet uit hoe ik dit moet doen.

Dreissen 14-05-09 19:19

Iemand AUB? (Hopeloos)

Malork 15-05-09 11:03

Je kan ook een custom XIB als UITableViewCell gebruiken. Dan kun je je cell helemaal naar wens invullen, en op basis van de tag de gegevens invullen. Je kan dan eventueel zelfs per groep een 'gewone' cell kunnen gebruiken.

Meer informatie hierover vindt je terug in het 'Exploring the iPhone SDK' boek wat je besteld hebt.

Er is overigens ook een delegate-methode waarmee je de hoogte van je UITableViewCell kunt opgeven:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return jeHoogteInPixelsInFloat;
}

Dreissen 15-05-09 15:50

Citaat:

Oorspronkelijk geplaatst door Malork (Bericht 286665)
Je kan ook een custom XIB als UITableViewCell gebruiken. Dan kun je je cell helemaal naar wens invullen, en op basis van de tag de gegevens invullen. Je kan dan eventueel zelfs per groep een 'gewone' cell kunnen gebruiken.

Meer informatie hierover vindt je terug in het 'Exploring the iPhone SDK' boek wat je besteld hebt.

Er is overigens ook een delegate-methode waarmee je de hoogte van je UITableViewCell kunt opgeven:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return jeHoogteInPixelsInFloat;
}

Ik vind hem wel mooi zo ja maar kan ik de tabel dan groter maken zodat er daar meer text in kan ik zal eens kijken of het me lukt heel erg bedankt :)

Weet jij trouwens ook of ik een php script kan verwerken in een XML file op het internet hij moet iets uit de database halen maar het moet een XML bestand zijn lukt dat of moet ik iets anders bedenken?

Malork 16-05-09 09:38

Je kan je CELL groter maken, en er een andere element inplaatsen (bijvoorbeeld een UITextField e.d.).

En ja, dat kan. Je moet gewoon een PHP-script maken die je data teruggeeft in XML op .plist-formaat. ik heb dit al een paar keer gedaan.

Dreissen 16-05-09 17:08

Citaat:

Oorspronkelijk geplaatst door Malork (Bericht 286905)
Je kan je CELL groter maken, en er een andere element inplaatsen (bijvoorbeeld een UITextField e.d.).

En ja, dat kan. Je moet gewoon een PHP-script maken die je data teruggeeft in XML op .plist-formaat. ik heb dit al een paar keer gedaan.


Maar het is gewoon een XML bestand op het internet.
Daar moet een stuk SQL inkomen zodat ik een stukje text uit de database (phpmyadmin) kan halen maar het moet dus in een XML file maar dan werkt het niet, een php bestand kan het niet zijn want dan werk het iphone appje niet.

Malork 16-05-09 17:16

ik weet 200% zeker van wel; maak mij over PHP maar niks wijs, ik heb het, zoals aangegeven, gewoon WERKEND gekregen..

Je kan gewoon in PHP een header uitsturen die als mime-type XML aangeeft, daarna output PHP gewoon de data (in XML) formaat. waar die data vandaan komt (MySQL of welke andere manier dan ook) boeit niet.

Dreissen 16-05-09 17:47

Citaat:

Oorspronkelijk geplaatst door Malork (Bericht 286976)
ik weet 200% zeker van wel; maak mij over PHP maar niks wijs, ik heb het, zoals aangegeven, gewoon WERKEND gekregen..

Je kan gewoon in PHP een header uitsturen die als mime-type XML aangeeft, daarna output PHP gewoon de data (in XML) formaat. waar die data vandaan komt (MySQL of welke andere manier dan ook) boeit niet.

Heel raar maar heel erg bedankt.
Ik ga eens kijken.

Dreissen 22-05-09 20:30

Ik heb nu dit stukje code als XML bestand.
Maar hij kan het niet laden hij geeft een XML error.
Blijkbaar kan ik niks uit de database halen in een XML bestand.

PHP-code:

<?xml version="1.0" encoding="UTF-8"?>
<?php
include("config.php");
while(
$rij mysql_fetch_assoc($testfile))
{
?>
<Books>
<Book id="1">
<title><?php echo "<b>".$rij['titel']."";?></title>
<author>Naam hier</author>
<summary>Tekst hier</summary>
</Books></book>
<?php
}
?>

En hier de config:

PHP-code:

<?php
$host 
"***";
$dbuser "***";
$dbpass "***";
$dbname "***";

$connection mysql_connect($host,$dbuser,$dbpass);
$db mysql_select_db($dbname,$connection);

error_reporting  (E_ALL);

$testfile mysql_query("SELECT * FROM `testfile` ORDER BY `id` DESC") or die (mysql_error());

?>

Ik heb dus een XML parser maar ik ga niet steeds het bestand aanpassen waar de gegeven moeten worden uitgehaald dus ik wil het via database doen maar ik kan geen php en mysql gebruiken in een bestand met het formaat XML.

gekkepietje 22-05-09 20:52

Dat stukje code is geen XML bestand maar een PHP bestand. Een XML parser kan het dus niet lezen. Je zult het eerst door PHP moeten laten uitvoeren, waarna PHP er een XML bestand van maakt. Die output van PHP kun je dan wel laten parsen door een XML parser.

Bijvoorbeeld: als je dat PHP bestand op een webserver zet en vanuit je iPhone app die URL aanroept, dan voert je webserver eerst de PHP uit en geeft dan XML terug aan je iPhone app. Maar je kunt niet het PHP bestand rechtstreeks door je iPhone app laten uitvoeren.

Myrdhin 22-05-09 22:39

Citaat:

Oorspronkelijk geplaatst door Dreissen (Bericht 288484)
Ik heb nu dit stukje code als XML bestand.
Maar hij kan het niet laden hij geeft een XML error.
Blijkbaar kan ik niks uit de database halen in een XML bestand.

PHP-code:

<?xml version="1.0" encoding="UTF-8"?>
<?php
include("config.php");
while(
$rij mysql_fetch_assoc($testfile))
{
?>
<Books>
<Book id="1">
<title><?php echo "<b>".$rij['titel']."";?></title>
<author>Naam hier</author>
<summary>Tekst hier</summary>
</Books></book>
<?php
}
?>


Let even op dat je geldige XML uitspuugt. Je sluit de "book" tag verkeerd omdat je te vroeg "Books" al sluit. Daarnaast open je met "Book" en sluit je met "book" (zonder hoofdletter B), maar nu is volgens mij XML niet case sensitive qua tags, maar pin me daar niet op vast.

edward007 24-05-09 16:44

Maak eerst die tags kloppend.
<bood id="id"> kan niet, maak er dan van <boekid>1</boekid>

daarnaast, zet als eerste na de openingstag van php neer:
PHP-code:

header('Content-type: text/xml'); 



code wordt dus:
PHP-code:

<?
header
('Content-type: text/xml');
?>
 <?xml version="1.0" encoding="UTF-8"?>
<?php
include("config.php");
while(
$rij mysql_fetch_assoc($testfile))
{
?>
<Books>
<Book>
<id>1</id>
<title><?php echo "<b>".$rij['titel']."";?></title>
<author>Naam hier</author>
<summary>Tekst hier</summary>
</Book>
</Books>
<?php
}
?>

Should do the trick!

Myrdhin 25-05-09 10:43

Citaat:

Oorspronkelijk geplaatst door edward007 (Bericht 288912)
Maak eerst die tags kloppend.
<bood id="id"> kan niet, maak er dan van <boekid>1</boekid>

Dat is gewoon legaal. id is dan een attribute van "book".

edward007 25-05-09 15:53

Oh je hebt idd gelijk. Maar iig klopte de volgorde van die tags niet ;)


Alle tijden zijn GMT +2. Het is nu 14:00.