2008-09-17 20 views
2

Bazı eleman değerlerinin unicode karakterleri olduğu yerde xml var. Bunu bir ANSI kodlamasında göstermek mümkün mü?Unicode olmayan XML gösterimi

E.g.

<?xml version="1.0" encoding="utf-8"?> 
<xml> 
<value>受</value> 
</xml> 

<?xml version="1.0" encoding="Windows-1252"?> 
<xml> 
<value>&#27544;</value> 
</xml> 

I XML serisini ve ardından Varsayılan kodlama belirterek XmlTextWriter kullanarak serialize girişiminde (Varsayılan Windows 1252). Tüm unicode karakterleri soru işaretleri olarak belirir. VS 2008, C# 3.5

cevap

5

Tamam ben şu kodla test yanlış yerde başka bir şey yapıyor olmalı

<?xml version="1.0" encoding="Windows-1252"?><xml><value>&#x53D7;</value></xml> 

. Yardım için teşekkürler.

4

'u kullanarak sorunu anlıyorum, o zaman evet.

<?xml version="1.0" encoding="Windows-1252"?> 
<xml> 
<value>&#27544;</value> 
</xml> 

Yoksa programlı bu XML oluşturmak için merak vardır: Sen sadece bir ;27544 sonra gerek? Eğer öyleyse, hangi dilde/ortamda çalışıyorsunuz?

string xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><xml><value>受</value></xml>"; 

XmlWriterSettings settings = new XmlWriterSettings { Encoding = Encoding.Default }; 
MemoryStream ms = new MemoryStream(); 
using (XmlWriter writer = XmlTextWriter.Create(ms, settings)) 
     XElement.Parse(xml).WriteTo(writer); 

string value = Encoding.Default.GetString(ms.ToArray()); 

Ve doğru böylece unicode karakter kaçtı:

+0

Yazımda bir yazım hatası vardı. Örneği düzeltildi. –