2013-05-27 3 views
2

에 탭을 변경합니다. 하여 XDocument 내가이 같은 모습을 단순화 xml 형식 - 문서가 공간

코드

var path = @"C:\test.xml"; 
var doc = XDocument.Load(path); 
doc.Save(path); 

공간 탭 변경된 속성 값을 실행.

<?xml version="1.0" encoding="utf-8"?> 
<Node1 separator=" " /> 

탭이어야하므로 원본 값을 유지할 수 있습니까?

+0

'expandtab' 옵션을 사용해보십시오. – Rahul

+0

'xml : space = "preserve"'를'Node1'에 추가하려고 했습니까? –

+0

두 제안 모두 예상대로 작동하지 않았습니다. – dwonisch

답변

3

XML 문서를 처리 할 때 기본 동작 인 XML:Attribute-Value Normalization의 "특성의 XML 공백 정규화"부분입니다. 공백 문자에 대한

(# x20과는 #xD, #xA, #의 X9가), 정규화 된 값

에 공백 문자 (#의 X20)를 추가 당신은 XmlTextReader.Normalization을 사용할 수 있어야합니다 재산은 here로 기술되어있다. XmlDocument는 판독기 XmlDocument.Load에서로드 할 수 있습니다.

var path = @"C:\test.xml"; 
XmlDocument doc = new XmlDocument(); 
XmlTextReader reader = new XmlTextReader(path); 
doc.Load(reader); 
var s = doc.SelectSingleNode("*/@*").InnerText; 
Console.WriteLine("|{0}|, {1}", (int)s[0], s.Length); // prints 9 - ASCII code of tab 
doc.Save(path);