Article View: pl.comp.lang.javascript
Article #50240Re: Jak odczytać kodowanie
From: porneL
Date: Tue, 31 Aug 2010 19:53
Date: Tue, 31 Aug 2010 19:53
39 lines
2383 bytes
2383 bytes
On Tue, 31 Aug 2010 08:59:46 +0100, Paweł <pawel.neo@neostrada.pl> wrote:
> Wczytuję plik XML przez Ajaxa do zmiennej xmlstring
>
> Następnie wykonuję:
Nie wiedziałem, że to się da tak bardzo skomplikować :)
XHR ma responseXML zawierające od razu przeparsowany XML. Od tego jest ten
X w AJAX.
> var xmlobject = (new DOMParser()).parseFromString(xmlstring, "text/xml");
Wg odpowiednich RFC text/xml nie obsługuje kodowania innego, niż ASCII.
Jeżeli ten parser trzyma się standardu, to umyślnie nie pozwoli na użycie
latin2. Jak bardzo chcesz podać typ, to podaj application/xml.
[http://www.xml.com/pub/a/2004/07/21/dive.html]
Poza tym odpalając własny parser ignorujesz nagłówki HTTP, które mogą
zawierać informację o kodowaniu.
> var root = xmlobject.getElementsByTagName('rss')[0];
od tego jest documentElement
> Dla wielu kanałów RSS jakie znalazłem wszytko działa prawidłowo
> Jednak dla tego: http://www.hdtv.com.pl/forum/external.php?type=RSS2
> w ostatniej instrukcji pojawia się błąd: "root has no properties"
Wygląda ok:
http://feedvalidator.org/check.cgi?url=http%3A%2F%2Fwww.hdtv.com.pl%2Fforum%2Fexternal.php%3Ftype%3DRSS2
więc to musi być problem z twoim parsowaniem (szklana kóla mówi, że
zgubiona deklaracja kodowania powoduje błąd parsowania i zwrócenie null
przez parser, po czym próbujesz wykonać metody na nullu).
--
http://pornel.net
this.author = new Geek("porneL");
Technical Details
Message-ID:
<op.vibivyxtutk0y1@aimac.local>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mailReferences:
<i5gp8f$nef$1@mx1.internetia.pl> <i5gscb$jku$1@news.onet.pl> <i5h3k5$18j$1@mx1.internetia.pl> <op.vh9sgaqcutk0y1@aimac.local> <i5id0h$nbi$1@mx1.internetia.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail From: porneL <niusy4@pornel.net> Newsgroups: pl.comp.lang.javascript Subject: Re: Jak odczytać kodowanie Date: Tue, 31 Aug 2010 20:53:48 +0100 Organization: "Portal Gazeta.pl -> http://www.gazeta.pl" Lines: 39 Message-ID: <op.vibivyxtutk0y1@aimac.local> References: <i5gp8f$nef$1@mx1.internetia.pl> <i5gscb$jku$1@news.onet.pl> <i5h3k5$18j$1@mx1.internetia.pl> <op.vh9sgaqcutk0y1@aimac.local> <i5id0h$nbi$1@mx1.internetia.pl> NNTP-Posting-Host: 96.95.187.81.in-addr.arpa Mime-Version: 1.0 X-Trace: inews.gazeta.pl 1283284438 14298 81.187.95.96 (31 Aug 2010 19:53:58 GMT) X-Complaints-To: usenet@agora.pl NNTP-Posting-Date: Tue, 31 Aug 2010 19:53:58 +0000 (UTC) X-User: pornelspam User-Agent: Opera Mail/10.70 (MacIntel) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit