2012-09-04 4 views
0

코드에서 생성 한 XElement가 있습니다. 그것은 (개념적으로) 2 개의 노드 그룹을 가지고 있습니다. 방금 인쇄하면 멋지게 형식화 된 XML 파일이되지만 모든 노드가 함께 나타납니다. 인간 이해력을 쉽게하기 위해 두 그룹 사이에 두 줄의 개행을 추가하면 그 다음에 나오는 모든 서식을 잃게됩니다. 두 그룹간에 작은 휴식 시간을 추가하고 나머지 서식을 유지하려면 어떻게해야합니까?다른 서식을 유지하는 XElement에 빈 줄 추가

예 : 나는 브레이크를 추가하는 경우

<root> 
    <node>1.1</node> 
    <node>1.2</node> 
    <node>2.1</node> 
    <node>2.2</node> 
</root> 

이는 다음과 같습니다 : 기본이다

<root> 
    <node>1.1</node> 
    <node>1.2</node> 

<node>2.1</node><node>2.2</node></root> 

이 내가 원하는 무엇인가 :

<root> 
    <node>1.1</node> 
    <node>1.2</node> 

    <node>2.1</node> 
    <node>2.2</node> 
</root> 
+0

인쇄 방법을 추가 할 수 있습니까? XmlWriterSettings를 사용하고 있습니까? – Peter

+0

@Peter myXElemnt.ToString() – baruch

답변

1

게시 된 솔루션을 확인하십시오 here. 깨끗한 솔루션으로는 가능하지 않다는 인상을 받았습니다. 나는 여러 가지 방법을 시도했지만 아무 소용이 없었다. 또한 System.Linq.Xml 소스 코드를 살펴 보았지만 실제로이 기능을 수행하는 이유를 찾을 수 없습니다.

또 다른 옵션은 ToString 첫째을하고, (당신이 노드가 줄 바꿈을 필요로 알고 경우 교체로) 그 후 줄 바꿈을 추가하는 것입니다

result = result.Replace("<parentNode>", Environment.NewLine + "<parentNode>"); 

을하지만 그것은 아마 깨끗이 것이다 또 들여 쓰기.