请教高手一点关于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>
展开
 我来答
lrh3321
推荐于2016-07-21 · TA获得超过2183个赞
知道大有可为答主
回答量:2296
采纳率:75%
帮助的人:2125万
展开全部

一定要用 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类型。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式