首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XMLTextReader C#

XMLTextReader C#
EN

Stack Overflow用户
提问于 2012-05-18 17:40:56
回答 3查看 2.2K关注 0票数 0
代码语言:javascript
复制
<myroot>
  some data.
</myroot>

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

代码语言:javascript
复制
 <myroot> and </myroot>

转换为字符串变量。

对我有一些限制,那就是我应该只使用XMLTextReader来做这件事,我如何才能只使用XmlTextReader而不使用xdocument

EN

回答 3

Stack Overflow用户

发布于 2012-05-18 17:51:16

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

票数 0
EN

Stack Overflow用户

发布于 2012-05-18 17:53:50

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

代码语言:javascript
复制
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;
    }
}
票数 0
EN

Stack Overflow用户

发布于 2012-05-18 17:59:47

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

代码语言:javascript
复制
string content = reader.ReadElementContentAsString();

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10650227

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档