/ Forside / Teknologi / Udvikling / Perl / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Perl
#NavnPoint
bjarneA 141
poul_from 50
soccer 30
Nicknack 14
Tmpj 0
XML::DOM::Parser æøå problem
Fra : Kevin Steffer


Dato : 21-11-02 22:29

Hej NG,

Jeg har lavet et lille script som læser XML og laver HTML som
output. Men jeg kan ikke få parseren til at skrive æøå hvis jeg henter
data på flg. måde:

$species->getElementsByTagName('publisher')->item(0)
->getFirstChild->getNodeValue

Men hvis jeg bare får parseren til at udskrive det indlæste XML dokument:
print $doc->toString;

så virker det fint.

Nogen der ved om metoden:
$species->getElementsByTagName('publisher')->item(0)
->getFirstChild->getNodeValue
understøtter UNICODE eller hvordan jeg kan tjekke det?


Eksempel på script:

#!/usr/bin/perl -w

print "Content-type: text/html; charset=iso-8859-1;\n\n";
use POSIX qw(locale_h);
setlocale(LC_CTYPE, "da_DK.ISO8859-1");

use XML::Checker;
use XML::DOM;
my $file = 'news.xml';
my $parser = XML::DOM::Parser->new();
my $doc = $parser->parsefile($file);

print <<HTML;
<html>
<head>
<title>XML NEWS</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
</head>
<body bgcolor="#FFFFFF">
<h2>XML NEWS</h2>
<table border="0" cellpadding="4" cellspacing="0">
HTML


foreach my $species ($doc->getElementsByTagName('news')){
   
   print "<tr><td>Dato: ". $species->getElementsByTagName('date')->item(0) ->getFirstChild->getNodeValue ."</td></tr>";
   print "<tr><td>Udgiver: " . $species->getElementsByTagName('publisher')->item(0) ->getFirstChild->getNodeValue ."</td></tr>";
}
print "</table><br><br>";

# Print to string
# print $doc->toString;

# Avoid memory leaks - cleanup circular references for garbage collection
#$doc->dispose;


print <<HTML;
</body>
</html>
HTML

XML fil:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE newsdoc [
<!ELEMENT newsdoc (news*)>
<!ELEMENT news (date,publisher)>
<!ELEMENT date (#PCDATA)>
<!ELEMENT publisher (#PCDATA)>
<!ENTITY oslash "ø">
<!ENTITY lt "<">
<!ENTITY gt ">">
]>
<newsdoc>
   <news>
      <date>16-11-2002</date>
      <publisher>Jørgen Østergård</publisher>
</newsdoc>

 
 
Søg
Reklame
Statistik
Spørgsmål : 177435
Tips : 31962
Nyheder : 719565
Indlæg : 6408016
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste