请教高手一点关于C# 用XmlTextReader 读取xml文件的一些小问题 ,贴上源码,请高手帮忙给分析一下。
stringStr="";XmlTextReaderreader=newXmlTextReader(@"C:\creatbook.xml");while(reader.R...
string Str = "";
XmlTextReader reader = new XmlTextReader(@"C:\creatbook.xml");
while (reader.Read())
{
bool exit = false;
switch (reader.NodeType)
{
case XmlNodeType.Element:
if (reader.Name == "title")
{
exit = true;
}
Str = reader.Value;
Label1.Text = Str;
break;
case XmlNodeType.Text:
break;
case XmlNodeType.EndElement:
break;
default:
break;
}
if (exit)
{
return;
}
为什么Label1 的里面会读取不出来,什么都不显示。 我想要的是Label1读取出来“ CS从入门到精通 ” 这几个字符串
贴上XMl文档的结构
<?xml version="1.0" encoding="gb2312"?>
<Employees>
<Node genre="DouCube" ISBN="2-3631-4">
<title>CS从入门到精通</title>
<author>候捷</author>
<price>58.3</price>
</Node>
</Employees> 展开
XmlTextReader reader = new XmlTextReader(@"C:\creatbook.xml");
while (reader.Read())
{
bool exit = false;
switch (reader.NodeType)
{
case XmlNodeType.Element:
if (reader.Name == "title")
{
exit = true;
}
Str = reader.Value;
Label1.Text = Str;
break;
case XmlNodeType.Text:
break;
case XmlNodeType.EndElement:
break;
default:
break;
}
if (exit)
{
return;
}
为什么Label1 的里面会读取不出来,什么都不显示。 我想要的是Label1读取出来“ CS从入门到精通 ” 这几个字符串
贴上XMl文档的结构
<?xml version="1.0" encoding="gb2312"?>
<Employees>
<Node genre="DouCube" ISBN="2-3631-4">
<title>CS从入门到精通</title>
<author>候捷</author>
<price>58.3</price>
</Node>
</Employees> 展开
1个回答
展开全部
一定要用 XmlTextReader 吗? 用XElement 要简单很多的。
XElement doc=XElement.Load(@"C:\creatbook.xml");
Label1.Text = doc.Element("Node").Element("title").Value;
用XmlTextReader 的
string Str = "";
XmlTextReader reader = new XmlTextReader(@"D:\creatbook.xml");
while (reader.Read())
{
bool exit = false;
switch (reader.NodeType)
{
case XmlNodeType.Element:
if (reader.Name == "title")
{
exit = true;
reader.Read()//漏了这句,“CS从入门到精通<”是XmlNodeType.Text
}
Str = reader.Value;
Debug.WriteLine( Str);
break;
case XmlNodeType.Text:
break;
case XmlNodeType.EndElement:
break;
default:
break;
}
if (exit)
{
return;
}
}
追问
我想了解这个方法。刚从网上那个看到的方法,试验了一下,不知道哪里出错了,就是不行啊,好像跟这个 reader.Read 有关,不太理解啊
追答
看上面,我刚补充过了。你弄错了 “CS从入门到精通<” 是 XmlNodeType.Text类型。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询