XML a české znaky   otázka

ASP.NET WebForms

Zdravím, dělám si RSS kanál pro svou stránku a když generuji RSS, tak mi to u některých českých znaků nic nevrací :-(

Resp. nejedná se o české znaky, ale o jejich entity.

Například mám

<description>&eacute;</description>

Jedné se o písmenko "é" ... ovšem nic mi to nevygeneruje a vrátí "Internet Explorer cannot display this feed". Když zadám jen

<description>e</description>

, funguje to v pořádku.

Nevíte někdo, kde by mohla být chyba? Půjde to napravit, aniž bych musel všechny entity přepsat? Dík.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tak jsem to nakonec vyřešil. Všechny entity jsem nahradil metodou Replace. Takže už je to OK :)

Kdyby existovalo nějaké hezčí řešení, dejte vědět ;-)

Public Function odstranitEntity(ByVal text As String) As String
        
        ...        
        text = Replace(text, "&eacute;", "é")
        text = Replace(text, "&Eacute;", "É")
        text = Replace(text, "&iacute;", "í")
        ...
        
        Return text
End Function

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Existuje.

Dim bezEntit = HttpUtility.HtmlDecode(text)

Entit jsou tisíce, určitě nedekódujete všechny. Tahle funkce ano.

U toho RSS feedu je problém v tom, že tyhle všechny entity jsou definovány jen v HTML, ale ne v XML. Více o tom je na webu M. A. Valáška - http://www.aspnet.cz/Articles/205-jak-na... .

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback