2013-02-19 2 views
1

예제 XML;자식 노드를 처리하지 않음 ("SelectNodes"사용)

<root> 
    <cmdset>Set 1 
    <cmd>Command 1</cmd> 
    </cmdset> 
    <cmdset>Set 2 
    <cmd>Command 2</cmd> 
    </cmdset> 
</root> 

<cmdset> 태그 내에서만 텍스트를 가져 오려고합니다. 예제 코드;

Sub Main() 
     Dim doc As XmlDocument = New XmlDocument() 
     doc.Load("help.xml") 
     For Each Element As XmlElement In doc.SelectNodes("//cmdset") 
      Console.WriteLine(Element.InnerText) 
     Next 
     Console.Read() 
    End Sub 

전류 출력;

Set 1 
    Command 1 
Set 2 
    Command 2 

원하는 출력;

Set 1 
Set 2 

을 기쁘게 감사
+0

아마도'set'이 속성이되도록 XML을 변경하고 싶을 것입니다. ''내부 텍스트는'' –

답변

1
당신은 예를 들어, XPath를 text() 기능을 사용하여 단지 텍스트 내용을 선택해야합니다

: 나는 또한 XmlElement 변수에서 반복자를 변경

For Each textNode As XmlText In doc.SelectNodes("//cmdset/text()") 
    Console.WriteLine(textNode.InnerText) 
Next 

공지 사항 XML 문서의 텍스트 내용은 요소 노드가 아니라 텍스트 노드로 간주되기 때문에 변수에 XmlText을 입력해야합니다.

+0

안에 모든 것을 가져올 것입니다. 감사합니다. –