XMLTextReader C#

时间:2012-05-18 09:40:56

标签: c# xmltextreader

<myroot>
  some data.
</myroot>

我有一个包含上述数据的xml文件。 我希望得到所有数据

 <myroot> and </myroot>

输入字符串变量。

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

3 个答案:

答案 0 :(得分:0)

你需要一个xmlnodelist,然后一个foreach循环遍历节点。 xmlNode类型具有innerHtml属性。例如:myxmlNode.SelectSingleNode(“// REVNR”)。InnerText

答案 1 :(得分:0)

这是一种方法。下面是一个关于如何以非常基本的形式阅读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;
    }
}

答案 2 :(得分:0)

如果<myroot>中有没有子节点,那么您的选择是XmlReader.ReadElementContentAsString

string content = reader.ReadElementContentAsString();

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

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