2010-06-01 23 views
12

Olası Çoğalt ad çıkarın:
XmlSerializer: remove unnecessary xsi and xsd namespaces.NET oluşturulan XML

Ben XMLSerializer kullanarak bazı XML ve özelliklere sahip işaretlenmiş bir sınıf oluşturma ediyorum. Bu XML bir REST web servisine gönderilir.

Aşağıdaki XML oluşturur:

<?xml version="1.0" encoding="utf-8"?> 
<person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <first-name>API</first-name> 
    <last-name>TestPersonDeleteMe</last-name> 
    <title>Delete me</title> 
</person> 

Tüm

iyi olurdu, şema şeyler anlamıyor kullanıyorum web hizmeti dışında ve 500 hatası atar.

XmlSerializer 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"' ekini kişi etiketine eklemenin bir yolu var mı?

+2

Web hizmetim değil. –

+0

Bozulduğu gerçeğini değiştirmez. Bununla ilgili bir şey yap. –

+3

Evet, bunu bir hata olarak, xml girişleri alan ancak xml namesapce özniteliklerini ele alan bir web servis hizmeti olduğunu bildiririm. En kötü durum, onları görmezden gelmeli. –

cevap

21

özel seri hale getirici bu

XmlSerializerNamespaces namespaces = new XmlSerializerNamespaces(); 
namespaces.Add(string.Empty, string.Empty); 

denemek kullanırsanız o zaman ad senin serileştiriciye itiraz ekleyin.

İlgili konular