我有一个包含多个子树的 XML 文件,这些子树中也可以包含子树。像这样:
<File>
<A>...</A>
<B>...</B>
<C>
..
<D>..</D>
</C>
</File>
(“..”是子树中的元素)。我如何读取每个子树然后读取它的所有元素(如果这个子树包含一个子树我想单独读取它和他的所有元素)?
最佳答案
XmlReader
支持为此目的读取子树;如果您愿意,可以使用子树阅读器作为其他模型(XmlDocument
、XElement
等)的输入:
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>
}
关于c# - 读取 xml 子树和后代 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7074457/