2009-05-15 4 views
0

상위 노드, 상위 노드, 조부모, 증조부모 또는 썩은 노드는 모두 xml 내 양극의 조상입니다.xml 노드의 상위 부모 및 위대한 부모 부모를 얻는 방법

현재 노드 xml의 그랜드 부모 및 위대한 그랜드 부모를 어떻게 얻을 수 있습니까?

ASP.NET 응용 프로그램에서 VB.Net을 사용하고 있습니다.

감사 와우 답변

내가있는 XmlNode 당신이 할 수 있도록 인 parentNode 속성을 가지고에서 System.Xml을 사용하여있는 XmlNode greatGrandParent = myNode.ParentNode.ParentNode.ParentNode.lastchild.lastchild

+1

.NET에서 제공하는 세 가지 문서 모델 중 어떤 것을 사용하고 있는지 지정하면 도움이됩니까? – AnthonyWJones

답변

3

같은 것을 할 수 있습니다 아름답다 그것을 사용하여 나무를 가로 지르십시오.

System.Xml.XPath를 사용하면 XPathNavigator에는 MoveToParent 메서드가 있습니다. System.Xml.Linq에게 XNode 클래스 사용

깔끔한 비트 수있는 선조 방법이있다 : -

에서
GrandParent = Node.Ancestors.Skip(1).Single() 
GreatGrandParent = Node.Ancestors.Skip(2).Single() 
3

(희미한) 제공된 매우 제한된 정보에 비추어, I는 해당 제안 컨텍스트 XmlNode 개체의 ParentNode 속성을 사용합니다.

예 : 조부모 :

XmlNode grandParent = myNode.ParentNode.ParentNode; 

예. 조부모 :

XmlNode greatGrandParent = myNode.ParentNode.ParentNode.ParentNode; 

예외가 발생하기 쉽습니다. 예를 들어, 현재 노드에 ParentNode (또는 Attribute, Document, DocumentFragment, Entity, Notation 유형)가 없으면 Parent를 가질 수 없으므로 코드는 예외를 throw합니다.

답변을 "더 좋게"만들 수 있도록 자세한 정보를 제공하려면 질문을 편집하십시오.

+0

젠장, 너 바로 soo 맞아, 자리에 – Spikie

+0

나는 lastchild.lastchild 물건처럼 할 수있다 – Spikie

+1

@ Spikie : 귀하의 물음표 키가 붙어 것으로 보인다. 어쩌면 새로운 키보드가 필요할 것입니다. – Tomalak

관련 문제