PDA

Volledige versie bekijken : xml laad niet


latino
%Europe/Berlin %333 %2005, 09:00
hoi ik ben me ook maar eens gaan wagen aan php/xml en flash

alleen hij traced niet dus hij laad ook niks in ziet iemand het probleem?

php

$sql = mysql_query("SELECT id,titel,nieuws1,nieuws2,pic FROM WNP_main DESC limit 15 ")or die(mysql_error());
$items = mysql_fetch_assoc($sql);

echo"<?xml version=\"1.0\"?><newsitems>";

for(i=0 ; i < mysql_num_rows($sql); i++){

echo"
<newsid>".$items['id']."</newsid>
<titel>".$items['titel']."</titel>
<nieuws1>".$items['nieuws1']."</nieuws1>
<nieuws2>".$items['nieuws2']."</nieuws2>
<pic>".$items['pic']."</pic>
<datum>".$items['datum']."</datum>";
}

echo"</newsitems>";



init();

function init(){
var baseURL:String = "news.php";
var picURL:String = "xxx";
loadData();
}

function loadData(){
myXML = new XML();
myXML.ignoreWhite = true;
myXML.load = (baseURL);
myXML.onLoad = handleData;

}
function handleData(success){
if(success){
trace("hoi");// hier dus niet
photoData = new Array();
news = myXML.firstChild.childNodes.length;
for (var i = 0; i<news; i++) {
newsItems = news[i].childNodes;
for (var j = 0; j<newsItems.length; i++) {
var hid:Number = newsItem[j].firstChild.nodeValue;
trace(hid);//en hier ook niet uiteraard
}
}
}else{
trace("something wrong with handeling of the data");
}
}

Dauntless
%Europe/Berlin %369 %2005, 09:51
Je maakt die twee URL vars lokaal aan (in de init functie). Buiten die functie zijn ze dus niet beschikbaar... Je kan ofwel de vars meegeven als argumenten aan de loadData functie, ofwel zo:

var baseURL:String;
var picURL:String;
init();

function init(){
baseURL = "news.php";
picURL = "xxx";
loadData();
}

function loadData(){
myXML = new XML();
myXML.ignoreWhite = true;
myXML.load = (baseURL);
myXML.onLoad = handleData;

}
function handleData(success){
if(success){
trace("hoi");// hier dus niet
photoData = new Array();
news = myXML.firstChild.childNodes.length;
for (var i = 0; i<news; i++) {
newsItems = news[i].childNodes;
for (var j = 0; j<newsItems.length; i++) {
var hid:Number = newsItem[j].firstChild.nodeValue;
trace(hid);//en hier ook niet uiteraard
}
}
}else{
trace("something wrong with handeling of the data");
}
}

dioneo
%Europe/Berlin %780 %2005, 19:44
Ook mist er om de nieuwsgroep heen nog een groeptag.
Om iedere <newsid>(...)</datum> moet dus nog een tag staan.

<item><newsid>(..)</datum></item>

Dat maakt het beter navigeren in de strucuur van je XML

latino
%Europe/Berlin %525 %2005, 13:36
snik geen van twee de oplossingen doe thet..ik zie geen fout..

edit: ok er zat een fout in php: er moesten nog $ voor de i-tjes

maar nog steeds doet ie het niet huil..iemand?

hij geeft ook een fout aan:

http://www.deepbeats.nl/v4/news.php

latino
%Europe/Berlin %735 %2005, 18:39
niemand? helaas dan ga ik maar weer over op LoadVars

Dauntless
%Europe/Berlin %739 %2005, 18:45
Vreemd dat ik het nog niet gezien had, en vreemd dat jij de error niet post ;)

myXML.load(baseURL);
Dat moet het zijn, niet myXML.load = (baseURL);

latino
%Europe/Berlin %818 %2005, 20:38
je bent mijn redding! :) thanks

ik kreeg geen foutmelding dus das wel vaag.

Ok nu dit probleem nog:

http://www.deepbeats.nl/v4/news.php

ik krijg een foutmelding en ik heb dit phpscript: waarom die foutmelding?


$sql = mysql_query("SELECT id,titel,nieuws1,nieuws2,pic,datum FROM WNP_main ORDER BY id DESC LIMIT 15 ")or die(mysql_error());

echo"<?xml version=\"1.0\"?><nieuwsitems>";

while($items = mysql_fetch_assoc($sql)){

echo"
<item>
<newsid>".$items['id']."</newsid>
<titel>".$items['titel']."</titel>
<nieuws1>".$items['nieuws1']."</nieuws1>
<nieuws2>".$items['nieuws2']."</nieuws2>
<pic>".$items['pic']."</pic>
<datum>".$items['datum']."</datum>
</item>";
}

echo"</nieuwsitems>";

Dauntless
%Europe/Berlin %825 %2005, 20:48
Ik krijg geen foutmelding....?

Post ze eens.

latino
%Europe/Berlin %418 %2005, 11:02
http://www.deepbeats.nl/v4/news.php

als je op die link likt krijg je deze foutmelding:

De XML-pagina kan niet worden weergegeven
Kan XML-invoer niet lezen met opmaakmodel XSL. Herstel de fout en klik vervolgens op de knop Vernieuwen of probeer het later opnieuw.


--------------------------------------------------------------------------------

Spatie is niet toegestaan op deze locatie. Fout bij het verwerken van bron http://www.deepbeats.nl/v4/news.php. Regel 21, ...

<nieuws1>Zaterdag 20 & 27 augustus is het weer zover. Essential in the House! De twee edities in juli waren erg g...

Dauntless
%Europe/Berlin %517 %2005, 13:25
Als ik op die link klik krijg ik gewoon je goede xml... :o

rackdoll
%Europe/Berlin %799 %2005, 20:11
nee ik krijg ook een fout

Dauntless
%Europe/Berlin %808 %2005, 20:24
Ik gebruik nu firefox 1.0.6 en ik krijg het volgende:

<?xml version="1.0"?><nieuwsitems>
<item>
<newsid>1227</newsid>
<titel>Unicef, Marco V en Dancetour slaan handen ineen</titel>
<nieuws1>Op 28 augustus aanstaande vindt op het Malieveld in Den Haag het festival `Dancetour' plaats. Dancetour is een gratis toegankelijk dance-event met optredens van Misja Helsloot, Jean, Rank-1, Remy en Marco V. DJ Marco V vervult een centrale rol in de samenwerking die Dancetour dit jaar is aangegaan met kinderrechtenorganisatie Unicef. Wie tijdens het festival lid wordt van Unicef, ontvangt het nieuwste album van Marco V `200V' als welkomstgeschenk. </nieuws1>
<nieuws2>Op de internetsite van Dancetour (www.dancetour.nl) roept de populaire DJ de bezoekers op om lid te worden van Unicef. Dat is mogelijk via de website, maar ook op Dancetour zelf. Er is een speciaal SMS-nummer geopend. Wie tijdens het festival een SMS met de tekst `Unicef' stuurt naar het nummer 5030, wordt na een paar dagen door Unicef teruggebeld waarna het lidmaatschap wordt verwerkt.

De oproep van Marco V en het aanbieden van zijn CD als welkomstgeschenk zijn niet de enige twee dingen die hij voor Unicef doet. Begin september komt zijn nieuwe single `Second Bite' uit. Een gedeelte van de opbrengst van de single zal ten goede komen aan Unicef.

De Dancetour in Den Haag is de laatste in een serie van zeven festivals. De zes voorgaande Dancetour festivals van dit seizoen - georganiseerd in Dordrecht, Breda, Maastricht, Enschede, Leeuwarden en Goes - werden in totaal door ruim 70.000 enthousiaste jongeren bezocht.

Samenwerking met Unicef

In het kader van het 50-jarig bestaan van Unicef Nederland is Dancetour dit jaar een samenwerking aangegaan met de kinderrechtenorganisatie van de VN. De samenwerking is een succes. De bezoekers van Dancetour vallen in de leeftijdscategorie van 16 tot 30 jaar: een voor Unicef belangrijke, maar lastig te bereiken doelgroep. Met verschillende activiteiten zet Unicef tijdens de Dancetour evenementen dan ook in op voorlichting en ledenwerving. Op het festivalterrein kan de samenwerking de bezoekers nauwelijks ontgaan. Het DJ-deck is bekleed met een groot `Unicef: Kinderen Eerst' spandoek en er worden floppy hats en instant party-pictures verkocht. De opbrengst van de samenwerking komt ten goede aan scholingsprojecten in Turkije, Marokko en Suriname.</nieuws2>
<pic>ut20-8.jpg</pic>

<datum>2005-08-20</datum>
</item>
<item>
<newsid>1226</newsid>
<titel>Essential in the House!</titel>
<nieuws1>Zaterdag 20 & 27 augustus is het weer zover. Essential in the House! De twee edities in juli waren erg geslaagd en ongekend gezellig. De resident dj’s Leroy Styles, Chris Rox & Denniz, hebben het publiek goed los laten gaan. Hierop moest natuurlijk een vervolg komen, en het vooruitzicht is gunstig!!! Vanaf 3 september zullen de zaterdagavonden, dé vaste partynights worden in One Four.</nieuws1>

<nieuws2>De sounds in de benedenzaal zullen voornamelijk funky, uplifting and sexy housemusic zijn.
In de bovenzaal zal er ruimte worden gemaakt voor de eclectische beats van verschillende dj’s waaronder D.E.F. & L-Diablo.
Ook zal het een enkele keer plaatsmaken voor nieuw talent, dus als jij denkt dat het nu een keer jouw beurt is om de zaal plat te draaien; stuur een e-mail met motivatie naar info@chrisrox.nl.

Deze twee komende edities worden ook enkele nieuwe dj’s geïntroduceerd, te weten:

Jeroenski (o.a. 3FM, Las Palmas): deze dj valt zeker te benoemen als snel opkomend, en brengt absoluut de beste upfront housemusic. Met een aantal knallende producties op zijn naam, waaronder een remix van de nieuwe plaat van dj Roog. Zeker een naam om te onthouden!

Een andere dj die zijn entree zal maken is:

Baggi Begovic (Revolution R’dam & Impulz Outdoor): de vanuit origine komende Bosniër is heel wat jaartjes bezig in Nederland en gaat snel….heel snel. In razend tempo weet hij het te presteren om in clubs terecht te komen als Thalia, Powerzone & Escape. Daarnaast heeft hij ook al op Impulz Outdoor zijn draaikunsten ten gehore mogen brengen.

Uiteraard zullen ook weer de residents Leroy Styles, Chris Rox & Denniz van de partij zijn. Dus kom gerust gezellig langs en geniet van deze heetste clubavond van Den Haag.

De avond begint om 23.00 uur en gaat door tot 04.30 uur.

http://www.onefour.nl
etc...
(M'n cache is leeg)

rackdoll
%Europe/Berlin %812 %2005, 20:30
hhmm ja das ook et verschil tussen firefox en IE maarja hij moet et in allebei doen neem ik aan
dus tja

latino
%Europe/Berlin %507 %2005, 13:11
hmm ik krijg idd niet het laatste bericht..hoe maak je je cache leeg?

Dauntless
%Europe/Berlin %536 %2005, 13:52
(Firrefox) -> Tools -> Options -> Privacy -> cache: clear

(Internet Explorer)-> http://www.mozilla.org/products/firefox/ -> Download Firefox -> zie stap hierboven :p

(als je persé IE wilt is het iets van: Extra -> Internet opties -> tabblad 'algemeen' -> bestanden verwijderen)

latino
%Europe/Berlin %683 %2005, 17:23
thanks

dioneo
%Europe/Berlin %741 %2005, 18:47
je gebruikt een & in je xml; zet die s om naar utf8 (utf8_encode($string) in php)
Wil wel s helpen.

latino
%Europe/Berlin %289 %2005, 07:56
gedaan...alleen me cache is nog vol dus ik zie het resultaat niet...

rackdoll
%Europe/Berlin %389 %2005, 10:21
een xml die niet gezien kan worden in IE is niet goed......hij zou moeten werken op alle explorers.....veel mensen gebruiken IE weet je..;)

dioneo
%Europe/Berlin %454 %2005, 11:54
Ook heel belangrijk is de cache-header

header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header ("Pragma: no-cache"); // HTTP/1.0

zet die bovenaan, dus die voor je echt iets print, dan wordt het nooit in de cache gezet. Als je dat niet doet gaat t altijd fout want dan denken de browsers dat ze de inhoud al kennen.
Als utf8 teveel omcodering is kun je ook str_replace('&','ietsanders',$string) gebruiken die alleen de ampersand naar iets anders omzet.