当我尝试阅读我的xml文件时,它似乎读了两遍,我不确定如何修复这样的错误。我以为我可以有某种循环,但我仍然输了。任何帮助将不胜感激ty。 - 它正确写入xml文件,但在读取时会出现重复。
String workingDir = Directory.GetCurrentDirectory();
XmlTextReader textReader = new XmlTextReader(workingDir + @"\xmldoc.xml");
Console.WriteLine("BaseURI:" + textReader.BaseURI);
textReader.Read();
while (textReader.Read())
{
if (textReader.Name == "test")
{
textReader.Read();
XmlNodeType nType = textReader.NodeType;
if (nType == XmlNodeType.Text)
{
// label.Text = textReader.Value.ToString();
Label l = new Label();
System.Drawing.Point l1 = new System.Drawing.Point(15, 13 + a);
l.Location = l1;
l.Text = textReader.Value.ToString();
a += 20;
}
答案 0 :(得分:0)
我不知道你真正想要做什么,也不知道你的XML,但这里大概是我会怎么做。
注意:
代码:
XmlReader reader = XmlReader.Create("books.xml");
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element: // The node is an element.
//DO NOTHING
break;
case XmlNodeType.Text: //Display the text in each element.
//label.Text = reader.Value;
Label l = new Label();
System.Drawing.Point l1 = new System.Drawing.Point(15, 13 + a);
l.Location = l1;
l.Text = reader.Value;
a += 20;
break;
case XmlNodeType.EndElement: //Display the end of the element.
//DO NOTHING
break;
}
}
答案 1 :(得分:0)
是什么让您认为某些条目被阅读两次?如果是这种情况,还要检查此方法是否未被调用两次(在Visual Studio中使用shift + F12查找用法)。
此外,您在此处加入的代码似乎并不完整(没有变量'a'的声明)。您是否在if (textReader.Name == "test")
下执行了一些可执行相同操作的代码?