Toon posts:

[XML] telkens anders in mijn browser

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een database met wat gegevens erin. Met behulp van php heb ik er een XML output van gemaakt. Dit bestand heet xmlversie.xml.php. Gisteren zag deze output er nog mooi zoals echte XML uit in mijn Internet Explorer (6). Je weet wel, met die + en -, die je zo mooi kan in en uitklappen :)
Kijk ik vandaag nog een keer, maakt mijn browser er gewoon html van :(
Natuurlijk geen "mooie" html, want zelfs de <html> tag ontbreekt, maar hij laat gewoon alle afbeeldingen enzo zien. Ik heb de source even door
http://www.w3schools.com/dom/dom_validate.asp
heen gegooid, en die zegt dat het wel echte XML is.

Hoe kan dit? Ligt het aan m'n browser of aan m'n XML?
stukje code om een idee te krijgen van mijn manier van werken :)
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
echo ("<?xml version='1.0' standalone='yes'?> 
<remotetracker>");
      
$query1 = "select * from nieuws order by id desc LIMIT 0, 10"; 
$result1 = mysql_query($query1); 
while (list ($id, $titel, $inhoud, $poster, $datum) = mysql_fetch_array ($result1)) 
{ 
echo (" 
<item>
<id>$id</id>
<titel>$titel</titel>
<auteur>$poster</auteur>
<datum>$datum</datum>
<inhoud>$inhoud</inhoud>
</item>
");
}

[ Voor 10% gewijzigd door Verwijderd op 13-06-2003 01:57 ]


  • _Thanatos_
  • Registratie: Januari 2001
  • Laatst online: 10-12 10:22

_Thanatos_

Ja, en kaal

Dit kan nooit valid zijn. Je hebt geen sluit-tag voor <item> en geen sluit-tag voor <remotetracker>. Daarnaast mis ik ook nog het DTD of schema.

/edit
Ohja, als je nou gewoon een echte XML parser gebruikt om XML te bouwen, weet je zeker dat het iig well-formed is. Validiteit moet je dan nog wel zelf voor zorgen. MSXML vindt ik bijv erg goed, maar ik weet natuurlijk niet of je een windows server hebt.

[ Voor 51% gewijzigd door _Thanatos_ op 13-06-2003 01:50 ]

日本!🎌


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Ik gok zo dat het "stukje" code ook niet voor niets een "stukje" was :) Wat je aan een XML parser hebt bij uitvoeren van XML weet ik niet zo goed, maar ik denk dat ik wel voor iets van een DOM constructie zou kiezen als het om grote bestanden gaat :)

nonzz > Heb je al geprobeerd om de juiste header te geven?
code:
1
Header ( "text/xml" );

of is het application/xml? * drm vergeten :)

Waarom wil je eigenlijk zo graag dat je browser het als xml interpreteert? Wat heb je daar aan?

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Verwijderd

Topicstarter
Sorry, ik ben vergeten te vertellen dat dit maar een klein stukje code is. De tags worden wel afgesloten, maar dat gebeurt later (hier niet te zien). Het stukje code staat er alleen maar om aan te geven waar het een beetje over gaat.
Hij is echt valid (No Erros zegt w3schools.com). DTD en schema zijn toch niet verplicht (standalone='yes')? Bovendien heeft hij het een aantal dagen gewoon goed gedaan. Ik snap ook niet waar het probleem precies zit.

-edit (antwoord op op drm)-
Die Header heb ik nog niet gebruikt, wat doet dat precies (ga ook wel effe zoeken). Ik wil hem in m'n browser zien omdat dat "leuk" is :)
net als bij http://nu.nl/deeplink_pagina/pagina_xml.jsp

[ Voor 22% gewijzigd door Verwijderd op 13-06-2003 02:09 ]


Verwijderd

Topicstarter
Ik gebruik nu (na wat zoeken op www.php.net/header):
header ( "Content-type: application/xml" );
Het helpt helaas niet :(

  • Kama
  • Registratie: Mei 2002
  • Laatst online: 15-11 11:19

Kama

Game Coordinator

Gisteren zag deze output er nog mooi zoals echte XML uit in mijn Internet Explorer (6). Je weet wel, met die + en -, die je zo mooi kan in en uitklappen
"echte" HTML is gewoon platte ASCII hoor :p Die + en - worden zichtbaar omdat IE blijkbaar een default XSL over die XML heen knikkert. Om de een of andere reden vindt IE dat dat niet meer hoeft. Ben je soms zelf met XSL's aan de gang gegaan?

drs. Kama


  • DeverauX
  • Registratie: Februari 2002
  • Niet online

DeverauX

Focus is everything

Kijk ik vandaag nog een keer, maakt mijn browser er gewoon html van
Natuurlijk geen "mooie" html, want zelfs de <html> tag ontbreekt, maar hij laat gewoon alle afbeeldingen enzo zien.
Ik snap niet echt hoe je browser na eerst gewoon de structuur van je xml-bestand nu opeens ook afbeeldingen kan weergeven. :? Ik denk alleen niet dat het aan je browser ligt, al zou je dit eventueel kunnen proberen door zelf met notepad een xml bestand te schrijven.

Weet je zeker dat je niks aan je code hebt veranderd/toegevoegd waardoor het xml bestand nu wordt getransformeerd naar html? Zoals Kama al zegt geeft IE een xml file alleen in boomstructuur weer wanneer hier geen transformatie op plaats vindt. Misschien dat je wat duidelijker kan zijn over wat je code precies doet, of hier wat meer van te posten want nu is het meer gokken op wat er fout gaat dan dat er iets zinnigs over te zeggen valt...

...whatever was distasteful or unpleasant or uncomfortable or painful - music could always soothe that.
All you have to do is reach out to beauty.
Quincy Jones


  • pgussow
  • Registratie: Maart 2003
  • Laatst online: 18-08 16:13
drm heel wel gelijk hoor. Het gaat om de header waaraan IE ziet dat het XML is. Bij mij werkt het op deze manier:
PHP:
1
    header("Content-Type: text/xml");

  • wietse.cc
  • Registratie: Januari 2002
  • Laatst online: 08-12-2023
Let op!!! Als er ergens een foutmelding zit van php door de database of iets dergelijks wil hij niet! Deze foutmeldingen zijn niet in XML markup language waardoor het niet wil! Dan gaat XML fouten geven dat er br tags niet zijn gesloten enzo. Voorkom in 1e instantie dus foutmeldingen, en ga dan verder proberen...

Ik ben zelf veel bezig geweest met het schrijven van WML (XML maar dan voor WAP op telefoontjes), maar WML is bijna hetzelfde als XML, wat minder opmaakuncties maar goed...

Probeer eens het volgende:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<? 

header("Content-Type: text/xml"); 

$header = " 
    <?xml version=\"1.0\" encoding=\"iso-8859-1\"?> 
"; 

    echo $header; 
    $id = "Hallo";
    $titel = "Dit";
    $poster = "Is";
    $datum = "Een";
    $inhoud = "Test";
    echo " 
        <item> 
        <id>$id</id> 
        <titel>$titel</titel> 
        <auteur>$poster</auteur> 
        <datum>$datum</datum> 
        <inhoud>$inhoud</inhoud> 
        </item> 
    "; 


?> 


Je kunt het resultaat bekijken op http://www.ipublications.net:90/got/18043750.php...

Succes!

[ Voor 82% gewijzigd door wietse.cc op 13-06-2003 08:14 ]


Verwijderd

Topicstarter
YEAH,
code:
1
header("Content-Type: text/xml");

werkt!
Bedankt voor de informatie! De database gaf geen erros, ik weet hoe dat eruit ziet, want dat probleem had ik al eerder ;)
Als je ergens van een XML output wil maken leer je wel nauwkeurig programmeren. Ergens een tagje niet afsluiten ofzo en het gaat helemaal mis.

  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 02-11 22:01
Ik ben zelf veel bezig geweest met het schrijven van WML (XML maar dan voor WAP op telefoontjes), maar WML is bijna hetzelfde als XML, wat minder opmaakuncties maar goed...
Mierenneuk modus: XML is een manier om data op te slaan en geen manier om data weer te geven, daarvoor zijn subsets van XML geschikter, zoals bv. HTML of WML. WML is dus bijna hetzelfde als HTML, niet als XML (XML biedt namelijk niks voor opmaak).

Overigens. Ik kan geen PHP (gebruik altijd ASP of ASP.Net), maar is er niet een fijne XML DOM (Document Object Model) voor php? Ik vindt het opbouwen van een XML-bestand door concatenatie van strings nogal afbreuk doen aan het idee van XML. Een DOM is daar veel geschikter voor, want je kan feitelijk geen fouten maken in de opbouw van je structuur. Daarnaast biedt werken met een DOM ook meer inzicht in het idee van XML.

[ Voor 33% gewijzigd door zoepercavia op 13-06-2003 14:45 ]

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!

Pagina: 1