的XmlReader和NodeTypes [英] XmlReader and NodeTypes

查看:102
本文介绍了的XmlReader和NodeTypes的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有我需要得到一些文本值读取XML文件。我无法与reader.NodeType = XMLNodeType.Text和理解什么构成是NodeType.Text的一个节点。

I have an XML file I need to read from to get some text values. I am having trouble with the reader.NodeType = XMLNodeType.Text and understanding what constitutes a node to be of NodeType.Text.

我的XML阅读器只捡的NodeType = 。元素,而忽略了节点声明之间的任何文本

My XML reader is only picking up NodeType = Element and ignoring any text in between the node declarations.

示例XML:

<?xml version="1.0" encoding="utf-8"?>
<myxmlfile>
  <ActivitiesHelp>
  <helptext>Some text goes here I need to read.</helptext>
  </ActivitiesHelp>
</myxmlfile>

和我的代码如下所示:

elementName = formName.Replace(" ", "");
while (reader.Read())
{
    // when we find an element node, we remember its name  
    if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == elementName))
    {
        reader.Read();
        //if the next node = 'helptext' then get that text data
        if (reader.Name == "helptext")
        {
            // for text nodes...get the text values
            if ((reader.NodeType == XmlNodeType.Text) && (reader.HasValue))
            {
                formMessage = reader.Value;
            }
        }
    }
}      



如果节点类型== XmlNodeType.Text声明嗟如此。

我在做什么错了,怎么办?您指定XML文件文本的NODETYPE

What am I doing wrong, and how do you specify a nodetype of Text in XML file?

推荐答案

不要你需要这样做:

if (reader.Name == "helptext")
        {
            reader.Read();
            if ((reader.NodeType == XmlNodeType.Text) && (reader.HasValue))
            {
                formMessage = reader.Value;
            }
        }



即。在帮助文件节点是一个元素,它的childnode,类型TextNode

i.e. the helptext node is an Element, the text it's childnode and is of type TextNode

这篇关于的XmlReader和NodeTypes的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆