2011-10-08 20 views
5

Jak mogę przetestować XML za pomocą jQuery?Jak mogę przetestować XML za pomocą jQuery

Mam bookmarklet, który musi wiedzieć, czy bieżącą stroną jest XML. Jak mogę to sprawdzić?

Wyobrażam będę przechodzić w dokumencie i sprawdź, co następuje:

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

ale nie jestem pewien.

+0

Dlaczego trzeba wiedzieć? – Eric

+0

Ponieważ XML nie ma dokumentu .body mogę dodać rzeczy do. Zamiast tego, teraz sprawdzam tylko ciało, a jeśli nie istnieje, ostrzegam użytkownika. – HGPB

Odpowiedz

7

Nie jestem pewien, czy chcesz ponownie załadować stronę, ale możesz uruchomić ją przez jQuery.parseXML(), która wyrzuci wyjątek dla nieprawidłowego XML, więc możesz po prostu sparsować stronę i jeśli nie zostanie zgłoszony żaden wyjątek, to (poprawny) XML.

Na przykład:

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

Dzięki - Czy normalna strona internetowa może być poprawnie przetwarzana jako poprawny XML? – HGPB

+0

Również w jaki sposób mogę uzyskać cały kod źródłowy strony za pomocą jQuery? – HGPB

+0

Hmm, dobre pytanie, możesz oczywiście stworzyć strony internetowe, które są poprawne XML (o to chodziło XHTML), ale strona z poprawną marżą niekoniecznie jest również poprawnym XML. Możesz pobrać źródło strony z 'document.documentElement.outerHTML' (zwykły JavaScript) – andyb

Powiązane problemy