2011-08-16 3 views
3

XML 트리는 몇 개의 하위 트리를 포함하고 있으며 하위 트리에는 하위 트리가 포함될 수도 있습니다.xml 하위 트리 및 하위 항목 읽기 C#

<File> 
<A>...</A> 
<B>...</B> 
<C> 
.. 
<D>..</D> 
</C> 
</File> 

(".."는 하위 트리의 요소입니다.) 어떻게 각 하위 트리를 읽은 다음 모든 요소를 ​​사용 할 수 있습니까? (하위 트리를 포함하는이 하위 트리를 별도로 읽고 모든 요소를 ​​읽고 싶다면)?

답변

2

XmlReader 그 목적 서브 트리를 판독 지원하는 단계;

using(var reader = XmlReader.Create(source)) 
{ 
    reader.MoveToContent(); 
    reader.ReadStartElement(); // <File> 
    while(reader.NodeType != XmlNodeType.EndElement) 
    { 
     Console.WriteLine("subtree:"); 
     using(var subtree = reader.ReadSubtree()) 
     { 
      while(subtree.Read()) 
       Console.WriteLine(subtree.NodeType + ": " + subtree.Name); 
     } 
     reader.Read(); 
    } 
    reader.ReadEndElement(); // </File> 
} 
1

.NET에서 XML 문서를 읽으려면 XDocument을 사용할 수 있습니다. 예는 D 노드의 값을 판독 할 :

var doc = XDocument.Load("test.xml"); 
var value = doc.Root.Element("C").Element("D").Value; 
0

나는 다음과 같은 코드

var doc = XDocument.Load("C:\\Test.xml"); 
var DBID = doc.Root.Element("database").FirstAttribute.Name; 
var DBIDValue = doc.Root.Element("database").FirstAttribute.Value; 
와 솔루션을 가지고 : 당신은 당신이 그렇게 원하는 경우 다른 모델의 입력 ( XmlDocument, XElement 등)로 서브 트리 판독기를 사용할 수 있습니다