클래스와 Visual Basic 사용 하 여 XML을 탐색 하는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 301111 - 이 문서가 적용되는 제품 보기.
이 문서는 이전에 다음 ID로 출판되었음: KR301111
Microsoft Visual C# 버전의이 문서에 대 한, 참조 308343.
이 Microsoft Visual Basic 6.0 버전에 대 한 문서를 참조 하십시오 271619.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 탐색 하는 방법을 보여 줍니다. XPathDocument 개체를 만든 것 은 개체와 확장 가능한 태그 언어 (XML) 문서입니다. 이 샘플에서는 XPathDocument 개체를 XML 데이터로 로드 은 개체 데이터 보기로 만들고 수행 하 여 XML을 표시 합니다. 문서에서.

요구 사항

는 다음 목록이입니다 권장 되는 하드웨어, 소프트웨어, 네트워크 인프라 및 필요한 서비스 팩:
  • Microsoft Windows Server 2003, Microsoft Windows 2000 전문가, Windows 2000 Server, Windows 2000 서버나 Microsoft 고급 Windows NT 4.0 서버
  • Microsoft Visual Studio 2005 또는 Microsoft Visual Studio .NET
이 문서는 다음 항목에 익숙하다고 가정 합니다.
  • XML 용어
  • 만들기 및 XML 파일 읽기
  • XML 경로 언어 (XPath) 구문

XML 탐색에 사용 하는 방법

  1. Visual Studio 또는 Visual Studio 2005. NET에서 작성 한 2005 Visual Basic 또는 Visual Basic.net 콘솔 응용 프로그램.

    참고 이 예제에서는 Books.xml 이라는 파일을 사용 합니다. 만들 수 있습니다. 또는 고유한 Books.xml 파일에 포함 된 샘플 수는 .NET 소프트웨어 개발 키트 (SDK) 퀵 스타트입니다. 퀵 스타트 있을 경우 설치 된 Books.xml 다음 폴더에 있습니다.
    \Program Files\Microsoft.NET\FrameworkSDK\Samples\Quickstart\Howto\Samples\Xml\Transformxml\VB
    또는, 이 파일은 다음 웹 사이트를 방문 하 여 얻을 수 있습니다.
    http://msdn.microsoft.com/en-us/library/windows/desktop/ms762271 (v=vs.85).aspx

    Books.xml을 복사 해야 있는 만든이 폴더 아래에 있는 \Bin\Debug 폴더 프로젝트입니다.
  2. 프로젝트가 System.Xml 네임 스페이스를 참조 해야 합니다.
  3. 선언을 한정 하지 않아도 되도록 Imports 문을 XmlXPath 네임 스페이스에서 사용 나중에 코드에서이 네임. Imports 문은 다른 선언 앞에 사용 해야 합니다.
    Imports System.Xml
    Imports System.Xml.XPath
    					
  4. 적절 한 변수를 선언 합니다. XPathDocument 개체를 XML 문서를 저장 하 고 XPath 식을 계산 하 고 이동 은 개체 선언에서 문서입니다. XPath 식을 보유 하는 String 개체를 선언 합니다. 선언 코드를 추가 합니다. Main 프로시저에서 module1입니다.
    Dim nav As XPathNavigator
    Dim docNav As XPathDocument
    					
  5. XPathDocument 개체 Books.xml 샘플 파일을 로드 합니다. XPathDocument 클래스를 사용 하 여 확장 가능한 스타일 시트 언어 변환 (XSLT) 빠른 속도 성능 지향 캐시 XML 문서 처리를 제공. XML 문서 개체 모델 (DOM에) 비슷한 이지만 고도로 최적화 XSLT 처리와 XPath 데이터 모델에 대 한.
    'Open the XML.
    docNav = New XPathDocument("books.xml")
    					
  6. 문서에서 은 개체를 만듭니다. 사용 하 여 두는 특성 노드를 통해 이동 하 고 XML 문서에서 네임 스페이스 노드입니다.
    'Create a navigator to query with XPath.
    nav = docNav.CreateNavigator
    					
  7. 문서의 루트 MoveToRoot 메서드를 이동 합니다. MoveToRoot 탐색기 포함 전체 문서 노드 설정 트리 노드입니다.
    'Initial XPathNavigator to start at the root.
    nav.MoveToRoot()
    					
  8. MoveToFirstChild 메서드를 사용 하 여 XML 문서의 자식으로 이동 합니다. MoveToFirstChild 메서드는 현재 노드의 첫 번째 자식으로 이동합니다. 경우에는 Books.xml 원인을 루트 문서에 밖으로 이동 되는 자식, 설명 섹션 및 서 점 노드.
    'Move to the first child node (comment field).
    nav.MoveToFirstChild()
    					
  9. MoveToNext 메서드를 사용 하 여 형제 수준 노드를 반복 합니다. MoveToNext 메서드는 현재 노드의 다음 형제를 이동합니다.
    'Loop through all the root nodes.
    Do
        ...
    Loop While nav.MoveToNext
    					
  10. NodeType 속성을 사용 하 여 요소 노드만 처리 하 고 있는지, 및 속성을 사용 하 여 텍스트 요소를 표시 합니다.
    Do
        'Find the first element.
        If nav.NodeType = XPathNodeType.Element Then
    'If children exist.
    If nav.HasChildren Then
    
        'Move to the first child.
        nav.MoveToFirstChild()
    
        'Loop through all the children.
        Do
    'Display the data.
    Console.Write("The XML string for this child ")
    Console.WriteLine("is '{0}'", nav.Value)
    Loop While nav.MoveToNext
    
    End If
        End If
    Loop While nav.MoveToNext
    					
  11. HasAttributes 속성을 사용 하 여 노드에 특성이 있는지 여부를 결정 합니다. 할 수 있습니다. 또한 MoveToNextAttribute을 등의 다른 방법을 특성으로 이동 하 고 해당 값을 검사할 수 있습니다. 참고가 코드 세그먼트는 루트 노드의 하위 항목을 통해만 안내 하 고 있지는 전체 트리입니다.
    Do
        'Find the first element.
        If nav.NodeType = XPathNodeType.Element Then
    'if children exist
    If nav.HasChildren Then
    
        'Move to the first child.
        nav.MoveToFirstChild()
    
        'Loop through all the children.
        Do
    'Display the data.
    Console.Write("The XML string for this child ")
    Console.WriteLine("is '{0}'", nav.Value)
    
    'Check for attributes.
    If nav.HasAttributes Then
        		Console.WriteLine("This node has attributes")
    End If
    Loop While nav.MoveToNext
    
    End If
        End If
    Loop While nav.MoveToNext
    					
  12. 콘솔 개체의 ReadLine 메서드를 사용 하 여 콘솔 디스플레이의 끝에 일시 중지를 추가 하려면 위의 결과 쉽게 표시 합니다.
    'Pause.
    Console.ReadLine()
    					
  13. 빌드 및 콘솔 응용 프로그램 프로젝트를 실행 합니다.

전체 코드 목록

Imports System.Xml
Imports System.Xml.XPath

Module Module1

    Sub Main()
        Dim nav As XPathNavigator
        Dim docNav As XPathDocument
        docNav = New XPathDocument("books.xml")
        nav = docNav.CreateNavigator
        nav.MoveToRoot()
        'Move to the first child node (comment field).
        nav.MoveToFirstChild()

        Do
            'Find the first element.
            If nav.NodeType = XPathNodeType.Element Then
                'if children exist
                If nav.HasChildren Then

                    'Move to the first child.
                    nav.MoveToFirstChild()

                    'Loop through all the children.
                    Do
                        'Display the data.
                        Console.Write("The XML string for this child ")
                        Console.WriteLine("is '{0}'", nav.Value)

                        'Check for attributes.
                        If nav.HasAttributes Then
                            Console.WriteLine("This node has attributes")
                        End If
                    Loop While nav.MoveToNext

                End If
            End If
        Loop While nav.MoveToNext

        'Pause.
        Console.ReadLine()

    End Sub

End Module
				

참조

에 대 한 자세한 내용은 다음 Microsoft 개발자 네트워크 (MSDN) 웹을 방문 하십시오. 사이트:
.Net에서 XML: XML.NET Framework 클래스와 C# 제공 간단 하 고 확장 가능한 데이터 조작
http://msdn.microsoft.com/msdnmag/issues/01/01/xml

클래스
http://msdn.microsoft.com/en-us/library/system.xml.xpath.xpathnavigator.aspx

XPathDocument 클래스
http://msdn.microsoft.com/en-us/library/system.xml.xpath.xpathdocument.aspx

XslTransform 클래스는 XSLT 변환
http://msdn.microsoft.com/en-us/library/system.xml.xsl.xsltransform.aspx

XPath 예제
http://msdn.microsoft.com/en-us/library/ms256086.aspx
에 대 한 자세한 내용은 다음 웹 컨소시엄 (W3C) 웹 사이트를 방문 하십시오.
XML 경로 언어 (XPath)
버전 1.0: W3C 권장 사항 16 년 11 월 1999
http://www.w3.org/TR/1999/REC-xpath-19991116

속성

기술 자료: 301111 - 마지막 검토: 2012년 7월 5일 목요일 - 수정: 1.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Visual Basic 2005
  • Microsoft Visual Basic .NET 2003 Standard Edition
  • Microsoft Visual Basic .NET 2002 Standard Edition
키워드:?
kbvs2005applies kbvs2005swept kbdownload kbsample kbhowtomaster kbmt KB301111 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.
이 문서의 영문 버전 보기:301111

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com