Avatar billede jop... Nybegynder
25. juni 2009 - 15:14 Der er 4 kommentarer og
1 løsning

XMLWriter prblem med startElement()

Hej eksperter.

Jeg er ved at prøve at genere en xml-fil dynamisk i forbindelse med at jeg vil trække data fra en MySQL database ud i et xml-output.

Til det har jeg lavet følgende script:

-------------------------------------------------------------
<?php
header("Content-Type: text/xml");
$wrt = new XMLWriter();
$wrt->openURI('php://output');
$wrt->startDocument('1.0','UTF-8');
$wrt->startElement('simpleviewergallery');

include("conn.php");
        $result = mysql_query("select * from smukbrud_produkter");
        while ($row = mysql_fetch_array($result)) {
       
$wrt->startElement('image');
$wrt->startElement('filename');
$wrt->text($row['billede']);
$wrt->endElement();
$wrt->startElement('caption');
$wrt->text($row['tekst']);
$wrt->endElement();
$wrt->endElement();

}

$wrt->endElement();
$wrt->endDocument();
?>
--------------------------------------------------------

Det giver følgende output:

  <?xml version="1.0" encoding="UTF-8" ?>
- <simpleviewergallery>
- <image>
  <filename>a1.jpg</filename>
  <caption>Dette er en test</caption>
  </image>
- <image>
  <filename>a2.jpg</filename>
  <caption>Test2</caption>
  </image>
  </simpleviewergallery>

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

Jeg har dog brug for at der i linje 2, kommer til at stå følgende i stedet:

<simpleviewergallery maxImageWidth="480" maxImageHeight="480" textColor="0x808080" frameColor="0xEEE8F6" frameWidth="20" stagePadding="10" navPadding="10" thumbnailColumns="3" thumbnailRows="2" navPosition="left" vAlign="top" hAlign="center" title="Konfirmationstøj 2009" enableRightClickOpen="true" backgroundImagePath="" imagePath="" thumbPath="">

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

Jeg har prøvet mig lidt frem, kigget i php-manualen osv, men jeg har ikke kunnet finde løsningen.

Jeg håber I kan hjælpe med et par gode råd til hvad jeg skal gøre eller hvor jeg skal kigge :-)
Avatar billede j4k0b Nybegynder
25. juni 2009 - 15:30 #1
Prøv og erstat denne linje:
$wrt->startElement('simpleviewergallery');


Med dette (tilføj selv de sidste attributer i arrayet):

$attrs = array(
    'maxImageWidth' => '480',
    'maxImageHeight' => '480',
    'textColor' => '0x808080'
);
$xml->push('simpleviewergallery', $attrs);
Avatar billede j4k0b Nybegynder
25. juni 2009 - 15:31 #2
ups :-)

$wrt->push('simpleviewergallery', $attrs);
Avatar billede jop... Nybegynder
25. juni 2009 - 16:10 #3
XML tolkningsfejl: intet element fundet adresse: test.php linje 2, kolonne 1:

Ved ikke om du kan bruge det til noget. Min kode ser sådan her ud nu:

<?php
header("Content-Type: text/xml");
$wrt = new XMLWriter();
$wrt->openURI('php://output');
$wrt->startDocument('1.0','UTF-8');

$attrs = array(
    'maxImageWidth' => '480',
    'maxImageHeight' => '480',
    'textColor' => '0x808080'
);
$wrt->push('simpleviewergallery', $attrs);

include("conn.php");
        $result = mysql_query("select * from smukbrud_produkter");
        while ($row = mysql_fetch_array($result)) {
       
$wrt->startElement('image');
$wrt->startElement('filename');
$wrt->text($row['billede']);
$wrt->endElement();
$wrt->startElement('caption');
$wrt->text($row['tekst']);
$wrt->endElement();
$wrt->endElement();

}

$wrt->endElement();
$wrt->endDocument();
?>
Avatar billede jop... Nybegynder
26. juni 2009 - 08:38 #4
anyone?  :-)
Avatar billede jop... Nybegynder
01. juli 2009 - 09:23 #5
Jeg harselv løst det. WriteAttribute it was  :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester