2012-10-09 2 views
2

일부 문자 (\ t, \ r, \ n, "\ r \ n")를 XML 호환 "값"으로 변환하려고합니다. 따라서 '\ t'는 	이어야하고 \ r \ n은 
이되어야합니다. HttpUtility.HtmlEncode()을 사용해 보았지만 성공하지 못했습니다. 관심이있는 사람들을 위해 문자 인코딩, char에서 xml 값

는 :

내가 정확히 내가 원하는 형식을 얻을 수 없습니다,하지만 다음 동일 할 것 같다 \t, \r 또는 같은

"\r\n".ToList().ForEach(c => Console.Write("&#x" + ((int)c).ToString("X") + ";"));

답변

2

AFAIK 엔티티 \n은 "xml-escaped"할 필요가 없습니다 (실제로 소스 서식을 지정하거나 실제 줄 바꿈이 될 수 있으며 어느 줄을 알 수 없으므로 기본적으로 이스케이프를 사용할 수 없습니다) best solution 발견되었습니다. 그 문자를 변환하는 " 손 ":

HttpUtility.HtmlEncode() 
    .Replace("\n\r", "<br/>") 
    .Replace("\n", "<br/>") // Or use &#012; if you want it "binary safe" 
    .Replace("\r", "<br/>") 
    .Replace("\t", "&#009;"); 
+0

귀하의 제안에 감사드립니다. 이것은 내가 준수해야하는 프로젝트 요구 사항이라는 것입니다. 수동으로하는 것 외에 '\ t'에서 ' '으로 갈 방법이 없습니까? – user1731444

+0

@ user1731444 none 내가 알기에 ... 아마 그것을 CDATA에 넣으면 공백이 보존 될 것인가? – Vyktor

+0

다른 누구도 대답하지 않았으므로 다른 방법을 찾았습니다. 나는 대답을 "수락 된"대답으로 설정합니다. 시간 내 주셔서 감사합니다 :) – user1731444