XMLTextReader C#

本文关键字:XMLTextReader | 更新日期: 2023-09-27 18:34:30

<myroot>
  some data.
</myroot>

我有一个xml文件,其中包含上面一些数据。我想获取所有数据

 <myroot> and </myroot>

在字符串变量中。

对我来说有一些限制,那就是我应该只使用 XMLTextReader 为此我该怎么做只是使用XmlTextReader而不使用xdocument

XMLTextReader C#

你需要一个XMLnodelist,然后是一个foreach循环来遍历节点。 xmlNode 类型具有 innerHtml 属性。 例如:myxmlNode.SelectSingleNode("//REVNR"(。内文本

这是一种方法。下面是一个关于如何以非常基本的形式读取 xml 的简单示例:我确定你用它创建了一些逻辑

XmlTextReader reader = new XmlTextReader ("books.xml");
while (reader.Read()) 
{
    switch (reader.NodeType) 
    {
        case XmlNodeType.Element: // The node is an element.
            Console.Write("<" + reader.Name);
            Console.WriteLine(">");
            break;
        case XmlNodeType.Text: //Display the text in each element.
            Console.WriteLine (reader.Value);
            break;
        case XmlNodeType. EndElement: //Display the end of the element.
            Console.Write("</" + reader.Name);
        Console.WriteLine(">");
            break;
    }
}

如果<myroot>没有子节点,则选择XmlReader.ReadElementContentAsString:

string content = reader.ReadElementContentAsString();

ReadElementContentAsString使用当前节点并将读取器推进到下一个元素。

如果有任何子节点,则取决于您要执行的操作。如果你需要内部XML,你应该选择Adam的解决方案。如果需要子节点的内容,则必须递归遍历 XML。为了在那里帮助你,你需要解释你到底想做什么。