Avatar billede terra Nybegynder
06. marts 2004 - 01:28 Der er 3 kommentarer og
2 løsninger

Hente variabler fra XLM ?

Kan jeg hente variablen ved hjelp av CGI
Den biten jeg bruger ser sådan ud i java script:

var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.load( "fil.xml" );
var node = xmlDoc.getElementsByTagName("string")[0];
alert(node.text);

Kan jeg kjøre serverside for at hente fra en sådan xlm :

<?xml version="1.0" encoding="utf-8" ?>
  <string xmlns="http://domenenavn.dk/system">vriabel_som_jeg_ska_bruge</string>

Og ska ha 'vriabel_som_jeg_ska_bruge' ud av det.
Any Ideas?

Terra
Avatar billede michaelvv Nybegynder
06. marts 2004 - 19:13 #1
Ja det er der intet problem med , men afhængigt af dit XML-layout kan du
  vælge flere forskellige perl xml-parser og hvis det er simpelt XML kan du
  bare bruge XML::Parser som kan hentes fra CPAN

  http://search.cpan.org/~msergeant/XML-Parser/

  Hvis det er mere kompliceret XML skal du nok bruge en DOM-parser.

  Hvordan ser din xml fil ud ????

  Så skal jeg give dig noget brugbar kode...
Avatar billede terra Nybegynder
06. marts 2004 - 19:30 #2
Hej, tak for det michaelvv.
Denne XML filen er en lite:

<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://domenenavn.dk/system">vriabel_som_jeg_ska_bruge</string>

Terra
Avatar billede michaelvv Nybegynder
06. marts 2004 - 20:38 #3
Hej Igen...

  Puha den er slem , kan ikke få XML::DOM til at virke da jeg kun får en
  node ud af den og det er - xmlns.

  Her er min kode indtil videre :

------------- snip -----------------

#!/usr/bin/perl -w

use XML::DOM;

my $file = 'xmlperl.xml';
my $parser = XML::DOM::Parser->new();

my $doc = $parser->parsefile($file);

my $tagname="string";
my $scan="xmlns";


foreach my $notes ($doc->getElementsByTagName($tagname)) {

  print $notes->getAttribute($scan) . "\n";
  print "FirstChild -".$notes->getFirstChild($scan) . "\n";
  print "LastChild - ".$notes->getLastChild($scan) . "\n";

}

------------- snip -----------------

Output :

http://domenenavn.dk/system
FirstChild -XML::DOM::Text=ARRAY(0x8a7c6e4)
LastChild - XML::DOM::Text=ARRAY(0x8a7c6e4)


Men kig evt lige selv på XML::DOM

http://search.cpan.org/~enno/libxml-enno-1.02/lib/XML/DOM.pm

Her skulle en evt løsning være...

NB ! Hvis format noget microsoft standard , så skal der måske kigges efter en
      DOM Level 2 parser.

MVH  Michael.
Avatar billede terra Nybegynder
10. maj 2004 - 01:05 #4
Michael -> Ja, den er slem ... i Perl ... puuuhaaa :)
Det var også problem med XML::DOM her.
Jeg har ordnet det med PHP og det virker.
Tak for hjelpen.
Avatar billede terra Nybegynder
10. maj 2004 - 01:06 #5
Lukker
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
Kurser inden for grundlæggende programmering

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