문제

C#에서는 Ivy 및 Nant와 함께 사용할 XML 파일을 만들어야하지만 출력 파일에서 올바른 인코딩을 얻는 데 어려움이 있습니다.

xelement의 .save ( "c : foo.xml")를 사용하면 올바른 보고있다 파일은 파일이 실제로 UTF-8을 사용하여 저장되므로 IVY 및/또는 Nant가 화를냅니다. 그러나 실제로 사용하려면 ANSI로 저장해야합니다.

현재는 Bodge가 있습니다. .ToString ()을 사용하여 텍스트를 얻은 다음 스트림 라이터를 사용하여 파일에 작성해야합니다.

이상적으로는 .save () 동안 형식을 설정하고 싶지만 이에 대한 정보는 찾을 수 없습니다.

감사.

도움이 되었습니까?

해결책

xdocument.save 많은 과부하가 있습니다.

올바르게 구성된 XMLWRITER를 통해 작성하면 ASCII 인코딩을 선택할 수 있습니다.

var doc = XDocument.Parse( "<foo>&#160;bar&#7800;baz</foo>" );

XmlWriterSettings settings = new XmlWriterSettings();
settings.Encoding = new ASCIIEncoding();
using (var writer = XmlWriter.Create( "xelement.xml", settings )) {
    doc.Save( writer );
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top