C# (Ivy)에서 UTF-8 대신 ANSI로 LINQ에서 XML 파일을 저장
-
20-09-2019 - |
문제
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> barṸbaz</foo>" );
XmlWriterSettings settings = new XmlWriterSettings();
settings.Encoding = new ASCIIEncoding();
using (var writer = XmlWriter.Create( "xelement.xml", settings )) {
doc.Save( writer );
}
제휴하지 않습니다 StackOverflow