我在xml文件中有以下内容:
<MyTag>Inner Text</MyTag>
在我的代码中,我有以下内容来阅读xml文件:
XmlNodeReader nodeReader = new XmlNodeReader(myXmlDoc);
while (nodeReader.Read());
{
string temp = nodeReader.Name;
}
成功读取xml中的<MyTag>
后,它会读入空白,然后转到下一个标记。那是为什么?
编辑:
我也注意到第一个元素正确读入,然而,第二个元素的内部文本没有通过。
答案 0 :(得分:0)
请注意,你的循环是一个空循环,因为你有';'在while行上意味着你将读者移到最后而不读任何东西。除掉 ';'你应该有更好的结果。这是一个例子:
static void Main(string[] args)
{
XmlDocument myXmlDoc = new XmlDocument();
myXmlDoc.LoadXml("<MyTag>Inner Text</MyTag>");
XmlNodeReader nodeReader = new XmlNodeReader(myXmlDoc);
while (nodeReader.Read())
{
Console.WriteLine(
"Node Type : {0}, Node Name: {1}, Node Value {2}",
nodeReader.NodeType,
nodeReader.Name,
nodeReader.Value);
}
}
结果;
Node Type : Element, Node Name: MyTag, Node Value
Node Type : Text, Node Name: , Node Value Inner Text
Node Type : EndElement, Node Name: MyTag, Node Value
按任意键继续。 。
请注意,对于文本节点,名称为空,因为只有元素和属性具有名称。