네임스페이스 System.Xml.XPath에서 XML 문서를 읽는 방법에는 두 가지가 있습니다. 하나는 읽기 전용 XPathDocument 클래스를 사용하여 XML 문서를 읽는 것이고 다른 하나는 네임스페이스에서 편집 가능한 XmlDocument 클래스 System.Xml 를 사용하여 XML 문서를 읽는 것입니다.
XPathDocument 클래스를 사용하여 XML 문서 읽기
이 클래스는 XPathDocument XPath 데이터 모델을 사용하여 XML 문서의 빠른 읽기 전용 메모리 내 표현을 제공합니다. 클래스의 XPathDocument 인스턴스는 6개 생성자 중 하나를 사용하여 생성됩니다. 이러한 생성자를 사용하면 Stream, TextReader, 또는 XmlReader 개체와 string
XML 파일 경로를 사용하여 XML 문서를 읽을 수 있습니다.
다음 예제에서는 클래스의 XPathDocument 생성자를 사용하여 string
XML 문서를 읽는 방법을 보여 줍니다.
Dim document As XPathDocument = New XPathDocument("books.xml")
XPathDocument document = new XPathDocument("books.xml");
XmlDocument 클래스를 사용하여 XML 문서 읽기
이 XmlDocument 클래스는 W3C DOM(문서 개체 모델) Level 1 Core 및 Core DOM Level 2를 구현하는 XML 문서의 편집 가능한 메모리 내 표현입니다. 클래스의 XmlDocument 인스턴스는 세 개의 생성자 중 하나를 사용하여 생성됩니다. 매개 변수가 없는 XmlDocument 클래스 생성자를 호출하여 XmlDocument 비어 있는 새 개체를 만들 수 있습니다. 생성자를 호출한 후, Load XML 파일 경로와 XmlDocument, Stream, TextReader 객체에서 XML 데이터를 새 XmlReader 객체에 로드하기 위해 string
메서드를 사용합니다.
다음 예제에서는 매개 변수가 없는 클래스 생성자 및 XML 문서를 읽는 XmlDocument 메서드를 사용하는 Load 방법을 보여 줍니다.
Dim document As XmlDocument = New XmlDocument()
document.Load("books.xml")
XmlDocument document = new XmlDocument();
document.Load("books.xml");
XML 문서의 인코딩 확인
XmlReader 개체를 사용하여 XML 문서를 읽고 이전 섹션과 같이 XPathDocument 및 XmlDocument 개체를 만들 수 있습니다. 그러나 개체는 XmlReader 인코딩되지 않은 데이터를 읽을 수 있으므로 인코딩 정보를 제공하지 않습니다.
클래스는 XmlTextReader 클래스에서 XmlReader 클래스를 상속받고, 해당 Encoding 속성을 사용하여 인코딩 정보를 제공하며, XPathDocument 객체 또는 XmlDocument 객체를 생성하는 데 사용할 수 있습니다.
클래스에서 제공하는 XmlTextReader 인코딩 정보에 대한 자세한 내용은 클래스 참조 설명서의 EncodingXmlTextReader 속성을 참조하세요.
XPathNavigator 개체 만들기
XPathDocument 또는 XmlDocument 개체로 XML 문서를 읽은 후에는, 기본 XML 데이터를 선택하고, 평가하며, 탐색하고, 경우에 따라 편집하기 위해 XPathNavigator 개체를 생성할 수 있습니다.
XPathDocument 클래스 및 XmlDocument 클래스는 XmlNode 클래스와 함께 IXPathNavigable 네임스페이스의 System.Xml.XPath 인터페이스를 구현합니다. 따라서 세 클래스는 모두 CreateNavigator 메서드를 제공하여 XPathNavigator 개체를 반환합니다.
XPathNavigator 클래스를 사용하여 XML 문서 편집
XML 데이터를 XPathNavigator 선택, 평가 및 탐색하는 것 외에도 클래스를 사용하여 XML 문서를 만든 개체에 따라 XML 문서를 편집할 수도 있습니다.
XPathDocument 클래스는 읽기 전용이며, XmlDocument 클래스는 편집 가능합니다. 따라서 XPathNavigator 개체에서 생성된 XPathDocument 개체는 XML 문서를 편집하는 데 사용할 수 없지만, XmlDocument 개체에서 생성된 개체는 편집할 수 있습니다. 이 클래스는 XPathDocument XML 문서를 읽는 데만 사용해야 합니다. XML 문서를 편집하거나 이벤트 처리와 같이 클래스에서 제공하는 XmlDocument 추가 기능에 액세스해야 하는 경우 클래스를 XmlDocument 사용해야 합니다.
클래스의 CanEdit 속성은 XPathNavigator 개체가 XPathNavigator XML 데이터를 편집할 수 있는지를 지정합니다.
다음 표에서는 각 클래스의 CanEdit 속성 값을 설명합니다.
IXPathNavigable 이행 | CanEdit 값 |
---|---|
XPathDocument | false |
XmlDocument | true |
참고하십시오
.NET