Avatar billede kodak Mester
13. august 2009 - 17:13 Der er 9 kommentarer og
1 løsning

Visning af beskeder

Hej jeg har en xml fil hvor i der oplysninger om modtaget sms'er her til vil jeg gerne have et script der kan fremvise dem.

xml indhold:

  <?xml version="1.0" encoding="utf-8" ?>
- <response>
  <action>receivemessage</action>
- <data>
- <message>
  <messageid>177fc657-b4a7-4ff2-b533-4ee10ca7c5d2</messageid>
  <originator>FRA NUMMER</originator>
  <recipient>TIL NUMMER</recipient>
  <messagetype>SMS:TEXT</messagetype>
  <messagedata>BESKEDEN</messagedata>
  <senttime>SENDT DATO OG TID</senttime>
  <receivedtime>MODTAGET DATO OG TID</receivedtime>
  </message>
- <message>
  <messageid>eac759cc-49c1-4fd7-8c23-84b95f851d96</messageid>
  <originator>FRA NUMMER</originator>
  <recipient>TIL NUMMER</recipient>
  <messagetype>SMS:TEXT</messagetype>
  <messagedata>BESKEDEN</messagedata>
  <senttime>SENDT DATO OG TID</senttime>
  <receivedtime>MODTAGET DATO OG TID</receivedtime>
  </message>
  </data>
  </response>

kilden til xml filen er:
http://URL/api?action=receivemessage&username=BRUGERNAVN&password=PASSWORD& folder=inbox&limit=10&afterdownload=untouch
er der nogen der kan samle sådan et script
Avatar billede repox Seniormester
13. august 2009 - 19:23 #1
Ja, der er da nogen der kan samle sådan et script.

Men skal du have hjælp til at få det lavet eller vil du bare gerne have et færdigt script?
Avatar billede kodak Mester
13. august 2009 - 20:05 #2
vil gerne have hjælp
Avatar billede kodak Mester
13. august 2009 - 20:05 #3
ved mindre du gerne vil lave det
Avatar billede repox Seniormester
13. august 2009 - 22:25 #4
Jeg hjælper dig gerne, men min arbejdskraft er ikke gratis.

Jeg vil anbefale dig at kigge på http://php.net/simplexml

For at gøre en lang historie kort er det en 'nem' måde at tilgå XML dataene på.

Når du først har XML dataene i en streng f.eks (dem kan du hente via http://php.net/curl - nogle udbydere tilladder også du kan gøre det med http://php.net/file_get_contents ) kan du indlæse din xml i SimpleXML og tilgå dataene derfra.
F.eks (udgangspunktet er at file_get_contents() over en URL er tilladt):

<?php

    $xml = file_get_contents("http://URL/api?action=receivemessage&username=BRUGERNAVN&password=PASSWORD&folder=inbox&limit=10&afterdownload=untouch");

    $xml = new SimpleXMLElement($xml);

    foreach($xml->message as $message)
    {
        echo $message->messagedata; //viser beskeden
    }


?>
Avatar billede kodak Mester
14. august 2009 - 22:10 #5
Nu har jeg prøvet at læse det jegkunne men kan bare ikke finde rundt i skriftlig engelsk.
Avatar billede repox Seniormester
14. august 2009 - 22:22 #6
Alternativet er at du betaler dig ud af opgaven.
Jeg vil anbefale dig at flytte spørgsmålet over i den kategori hvis det skulle være interessant.
Avatar billede kodak Mester
14. august 2009 - 22:25 #7
Jeg er mere intreseret i at lære det.
Avatar billede repox Seniormester
14. august 2009 - 22:31 #8
Jeg synes at du fik en god udredning af mulighederne i mit første indlæg.
Det burde være nok at starte på. Hvis du mangler det grundlæggende omkring PHP vil jeg anbefale dig at starte på http://www.phpartikler.dk
Avatar billede kodak Mester
14. august 2009 - 23:07 #9
Tror jeg er på rette vej:

<?php
$xml =

simplexml_load_file("http://URL/api?action=receivemessage&username=BRUGERNAVN&password=PASSWORD& folder=inbox&limit=10&afterdownload=untouch");

echo $xml->getName() . "<br />";

foreach($xml->children() as $child)
  {
  echo $child->getName() . ": " . $child . "<br />";
  }
?>

Men hvordan kommer jeg et barn længere ud?
Avatar billede kodak Mester
25. november 2009 - 12:58 #10
Hmm samlede selv en:


<?php
$rdr = new XMLReader();
$rdr->xmL(file_get_contents('http://URL/api?action=receivemessage&username=BRUGERNAVN&password=PASSWORD& folder=inbox&limit=10&afterdownload=untouch'));
while($rdr->read()){
switch ($rdr->nodeType) {
case XMLReader::TEXT:
$s = $rdr->value;
break;
case XMLReader::ELEMENT:
if($rdr->localName == 'data') {
$no = $rdr->getAttribute('no');
}
break;
case XMLReader::END_ELEMENT:
if($rdr->localName == 'originator') {
$originator = $s;
} else if($rdr->localName == 'messagedata') {
$messagedata = $s;
} else if($rdr->localName == 'receivedtime') {
$receivedtime = $s;
} else if($rdr->localName == 'data') {
echo "<b>Fra:  " . $originator . "</b>";
echo "<b>Modtaget d.  " . $receivedtime . "</b>";
echo "<b>Beskeden:  " . $messagedata . "</b>";
}
break;
}
}
?>
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