我正在从外部服务器读取数据。数据很好,我可以设置所有的文本值,但当我尝试读取标记名时,它不起作用。 我的总体目标是在一列中填充标记名称的dataGridView,在另一列中填充标记值。重申一下,我有标签值,但没有标签名称。 问题代码:
if (xmlRead.NodeType == XmlNodeType.Text){
Console.WriteLine(xmlRead.Name + " : " + xmlRead.Value);
}
其中xmlRead是我的XmlReader。
结果为: Beef
示例数据格式是
<type>Beef</type>
答案 0 :(得分:6)
假设您的XML结构如下:
<element>Some Text</element>
首先,XmlReader会首先命中名为XmlNodeType.Element
的{{1}}类型的节点,以及一个空的element
。
然后它会点击类型为Value
,没有名称,值为XmlNodeType.Text
的节点。
然后它会点击类型为"Some Text"
,名称为XmlNodeType.EndElement
且空element
的节点。
你试图在没有名字的地方获得名字。要么在读取元素时获取名称,然后读取文本节点,要么在读取元素时获取其名称,然后立即调用Value
以获取内部文本节点的内容。
答案 1 :(得分:0)
Text节点没有名称,因此xmlRead.Name
永远不会返回一个。