2009-08-14 7 views
1

생성 한 XML 파일을 구문 분석하기 위해 System.Xml을 사용하고 있습니다. 노드의 내부 텍스트 중 일부는 "\ r \ n [...] \ r \ n"과 같은 캐리지 리턴을 포함합니다. 왜냐하면 내가 구문 분석하기 전에 Visual Studio를 사용하여 포맷하기 때문입니다.XmlNode Innertext에서 캐리지 리턴

도구를 포맷하여 추가 된 캐리지 리턴을 제거하는 방법이 있습니까?

감사합니다.

편집 @ 존 : 정말 고마워! 나는 그 문제를 우회하기 위해 비슷한 방법을 사용한다.

  char[] escape = { ' ', '\r', '\n' }; 
      string text = node.InnerText.Trim(escape); 

이렇게하면 텍스트의 캐리지 리턴을 필터링하지 않아도됩니다.

언급 한대로, 내 진짜 질문은 XML을 구문 분석하는 동안 formatings를 필터링하는 방법입니다. 내 가정은 : 거기에 노드에 그냥 일반 텍스트, 자식 요소가 포함되어 있습니다.

캐리지 리턴을 제외한 다른 형식이 있습니까?

node.InnerText = node.InnerText.Replace("\r", "") 
           .Replace("\n", ""); 

하지만 당신의 질문은 도구를 포맷하여 추가에 대해 특별히 제거 줄 바꿈을 요청 - 그리고 당신이 정말로 경우, 자동으로 사람이 수동으로 추가되어있는 감지하고있는 수 없습니다

답변

1

모든 줄 바꿈을 제거하는 것은 간단합니다 그들은 모두 파일에 있습니다. 당신이 경우에

<node> 
    text 
    <element /> 
    text 
</node> 

, 당신은 정말 각각의 텍스트 노드를 처리 개별적으로 대신 단지 InnerText을 변경해야합니다 또한

, 당신과 같은 텍스트와 요소가 산재이 노드를해야합니까.

이 정보가 도움이되지 않는다면 문제에 대한 추가 정보를 제공해 줄 수 있습니까?

관련 문제