2011-12-17 22 views
6

kullanarak Uppercase'de UTF-8 Get XDocument ile yaptığım XML belgesinin en üstünde XML kodlaması ve sürümüne sahip olmamız gerekir.XDocument

Bunu sahibim ama küçük harfle yazılmış ve büyük harfle yazılması gerekiyor.

Ne yapmam gerekiyor?

'doc' adlı XDocument sınıfını kullanarak yeni bir XML belgesi bildiriyorum.

Bu dosyayı doc.Save(); kullanarak bir dosyaya kaydediyorum.

denedim:

  • doc.Declaration.Encoding.ToUpper();
  • benim doc.Declaration benim XDeclaration için büyük harf Kodlama Yazma yeni XDeclaration
  • deklare etmek ve ayar.

Hala küçük harflerle geliyor.

+0

Eğer büyük harfle ihtiyaç Neden? Bir standart uyumlu XML ayrıştırıcı için bir fark yapmamalıdır. – Oded

+1

Katılıyorum, ancak bana bağlı değil, büyük harfle olması gerekiyor. "Doc.Declaration.Version.ToUpper" ı denedim, yeni bir XDeclaration bildirerek, büyük harfle yazarak ve "doc.Declaration" ı XDeclaration'a ayarlamaya çalıştım. Hala küçük harflerle geliyor, doc.Save(); teşekkürler – JMK

+0

Lütfen sorunuzu düzenleyin ve yorumunuza koyduğunuz ayrıntılar ile güncelleyin. Aksi halde sorunuzu okuyan insanlar tarafından göz ardı edilebilir. – Oded

cevap

4

Sen özel XmlTextWriter oluşturabilir, ör .:

public class CustomXmlTextWriter : XmlTextWriter 
{ 
    public CustomXmlTextWriter(string filename) 
     : base(filename, Encoding.UTF8) 
    { 

    } 

    public override void WriteStartDocument() 
    { 
     WriteRaw("<?xml VERSION=\"1.0\" ENCODING=\"UTF-8\"?>"); 
    } 

    public override void WriteEndDocument() 
    { 
    } 
} 

Sonra kullanmak:

using (var writer = new CustomXmlTextWriter("file.xml")) 
{ 
    doc.Save(writer); 
} 
+0

Mükemmel, çok teşekkür ederim! – JMK

+0

@Heisenburg, Rica ederim! –

+2

Mükemmel olmaktan çok uzak. XML bile değil. XML, kodlama isminin büyük ihtimalle olmasını sağlar (gerçekten tercih eder), ancak "kodlama" ve "sürüm" anahtar sözcükleri küçük harf olmalıdır. –

İlgili konular