2013-02-18 11 views
5

XML'den gelen bir dize (düzenleyemediğim) var ve javascript'te bir uyarı yazdırmak istiyorum. Benim dizehtml varlıklar?

Örnek:

This is à string 

Ve bir uyarıda yazdırmak gerekiyor:

This is à string 

bir js html kod çözme vardır?

+0

Bu değerler JS içine XML yolunda yapar gösterilmiştir biraz kod göstermek gerekir (! alert(tempelement.innerHTML="•"); yapıyor ben test tarayıcılar hiçbirinde değil çalışır Ancak, unutmayın). – JAAulde

+0

Eğer jquery kullanıyorsanız, C# – markzzz

+0

içinde XmlReader aldım bu soru nasıl http://stackoverflow.com/questions/1147359/how-to-decode-html-entities-using-jquery –

cevap

12
var encoded = "This is à string"; 
var decoded = $("<div/>").html(encoded).text(); 
alert(decoded); 
+2

Bu cevap ne söylenemez ne söyler Bununla birlikte, etiketlenmemesine rağmen, ** bu cevabı kullanmak için jQuery kitaplığına ihtiyacınız var **. JQuery olmadan hoş bir DOMException hatasıyla karşılaşacaksınız. –

8

bile jquery olmadan, bir dom elemanı dizeyi koymak ve tekrar dışarı okuyabiliyordu: https://stackoverflow.com/a/3700369/1986499

Düzen son talebiyle başka bazı kod eklemek için SO cevap:

var div = document.createElement('div'); 
div.innerHTML = encoded; 
var decoded = div.firstChild.nodeValue; 
+3

Doğru, [burada bunun için bir keman var] (http://jsfiddle.net/gaBeb/). –

+1

Sadece bir soru bir kopyası olduğu için sadece bir bağlantı yanıtı göndermeniz gerektiği anlamına gelmez. – TobiMcNamobi

0

Sadece bir minik biraz geciktirdim, ancak başka birinin bunu Google aracılığıyla bulduğum durumda (benim yaptığım gibi), Imperative ürününün answer

function showbullet() { 
    var tempelement = document.createElement('div'); 
    tempelement.innerHTML = "&bull;"; 
    alert("Here, have a bullet!\n" + tempelement.innerHTML); 
} 
showbullet(); 

Bunu test ettim ve Chrome/43.0.2357.130 m; Firefox/32.0.1; Internet Explorer/9.0.8112.16421. NodeValue ile uğraşmaya gerek yok, ne de değil; Ödev tamamlandıktan sonra varlık ilişkili karakterle değiştirilir.