2011-10-08 12 views
5

Come posso testare XML usando jQuery?Come posso provare XML usando jQuery

Ho un bookmarklet che deve sapere se la pagina corrente è XML. Come posso verificare questo?

immagino io passerò nel documento e verificare quanto segue:

<?xml version="1.0" encoding="UTF-8"?> 

ma non è sicuro.

+0

Perché avete bisogno di sapere? – Eric

+0

Perché XML non ha un documento.body a cui posso aggiungere delle cose. Invece, sto solo verificando un corpo e se uno non esiste avverto l'utente. – HGPB

risposta

7

Non sono sicuro se si desidera caricare nuovamente la pagina, ma è possibile eseguirla tramite jQuery.parseXML(), che genererà un'eccezione per XML non valido, in modo che si possa semplicemente provare a analizzare la pagina e se non viene generata alcuna eccezione, allora è (valido) XML.

Ad esempio:

var xml = "<rss version='2.0'><brokenxml></rss>"; 
try { 
    xmlDoc = $.parseXML(xml); 
} catch (err) { 
    // was not XML 
} 
+0

Grazie - Una pagina Web normale può essere analizzata correttamente come XML valido? – HGPB

+0

Inoltre, come posso ottenere il codice sorgente di intere pagine con jQuery? – HGPB

+0

Hmm buona domanda, puoi certamente creare pagine web che sono XML validi (questo è ciò che era l'XHTML) tuttavia una pagina con mark-up valido non è necessariamente anche XML valido. È possibile ottenere il sorgente della pagina con 'document.documentElement.outerHTML' (plain JavaScript) – andyb

Problemi correlati