2009-11-06 4 views
1

나는LINQ는

<Body>Stuff stuff stuff <FormatStuff> alsdkfafkafkaf </FormatStuff> </Body> 

지금,이 (내가 짐작하지 않았을) 유효한 XML 분명히 같이하는 XML 문서 정의합니다. 난 그냥 몸에있는 정보 및 <FormatStuff>에 대해 별도의 XElement를을 반환하려면, 그래서 몸의 같은

물건, 물건, 물건

alsdkfafkafkaf

.Value 분명히 XElement를 모두 반환 볼 것 . 어떤 도움을 주셔서 감사합니다.

답변

2

왜 이것이 유효한 XML인지 추측하지 못했습니까? 솔직히 말하면, 당신이 원하는 것을 정말로 분명하지 않습니다. 그냥 본문 요소의 텍스트 노드를 얻고 싶은 경우에, 당신은 사용할 수 있습니다

var textNodes = body.DescendantNodes() 
        .OfType<XText>() 

당신이 함께 연결된 모든 노드의 값을 얻고 싶은 경우에, 당신은 같은 것을 할 것 :

var text = string.Join("", body.DescendantNodes() 
           .OfType<XText>() 
           .Select(x => x.Value) 
           .ToArray()); 
당신은 body.Element("FormatStuff")으로 FormatStuff 요소를 얻을 수 있습니다 :)

을 위를 컴파일 할 때

는 (당신은 노드 유형을 사용할 수 있지만 내가 발견으로 당신은 그냥 유용하지 않은 IEnumerable<XNode> 있습니다.

+0

저는 항상 xml이 트리 구조이어야한다고 생각했습니다. 나는 이것을 잎에서 산란하는 잎이라고 생각할 것이다. 답변 해주셔서 감사합니다! – Steve