2011-09-19 6 views
4

streamreader (인터넷에서 가져온 파일)를 사용하여 스트리밍 된 xml 파일에서 xpath를 사용할 수 있습니까?스트림에서 xpath 사용

데이터의 정확한 위치를 알고 있지만 어떻게해야 최선인지 알 수 없습니까?

감사

답변

0

스트림에서 XML을 구문 분석 XDocument.Load(Stream, LoadOptions) 방법을 사용합니다. 그런 다음 XDocument.XPathEvaluate을 사용하여 값을 얻을 수 있습니다.

0

이론적으로 스트림에서 XPath 쿼리를 실행하는 스트림 판독기를 작성할 수는 있지만 구현에 대해서는 알지 못합니다. .NET 프레임 워크의 XPath 프로세서 (XDocument, XmlDocumentXPathDocument)는 모두 쿼리를 실행하기 전에 문서를 메모리에 읽습니다. 이러한 모든 객체는 스트림을 읽을 수 있습니다.

속도가 문제가되면 XPathDocument 및 이 가장 빠를 것입니다. 이러한 개체를 사용하면 쿼리를 실행하고 반복 할 노드 목록을 반환하는 대신 쿼리가 실행될 때 노드를 직접 반복 할 수 있기 때문입니다 위에. (실제로 XDocument.XPathEvaluate도이를 수행 할 수 있으며 설명서에는이 내용이 나와 있지 않습니다.)