的XmlReader和NodeTypes [英] XmlReader and 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屋!