XmlReader.Name返回一个空值

cof*_*ter 2 c# datagridview

我正在从外部服务器读取数据.数据很好,我可以设置所有的文本值,但当我尝试读取标记名时,它不起作用.我的总体目标是在一列中填充标记名称的dataGridView,在另一列中填充标记值.重申一下,我有标签值,但没有标签名称.问题代码:

if (xmlRead.NodeType == XmlNodeType.Text){
   Console.WriteLine(xmlRead.Name + " : " + xmlRead.Value);
}
Run Code Online (Sandbox Code Playgroud)

其中xmlRead是我的XmlReader.

结果是 : Beef

示例数据格式是 <type>Beef</type>

Jon*_*nna 7

假设您的XML结构如下:

<element>Some Text</element>
Run Code Online (Sandbox Code Playgroud)

首先,XmlReader将首先命中一个类型XmlNodeType.Element为name 的节点element,并为空Value.

然后它会命中一个类型XmlNodeType.Text,没有名称和值的节点"Some Text".

然后它会命中一个类型XmlNodeType.EndElement,名称element和空的节点Value.

你试图在没有名字的地方得到这个名字.要么在读取元素时获取名称,然后在读取文本节点时,或者在读取元素时获取名称,并获取其名称,然后立即调用ReadElementContentAsString()以获取内部文本节点的内容.