以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML基础 』  (http://bbs.xml.org.cn/list.asp?boardid=1)
----  怎么用XmlTextReader无法读取数据啊  (http://bbs.xml.org.cn/dispbbs.asp?boardid=1&rootid=&id=46798)


--  作者:hq841
--  发布时间:5/12/2007 9:49:00 PM

--  怎么用XmlTextReader无法读取数据啊
FileStream myStream=new FileStream(Server.MapPath("tables_data.xml"),FileMode.Open);
     XmlTextReader xmlR=new XmlTextReader(myStream);
      
      xmlR.WhitespaceHandling = WhitespaceHandling.None;
    while(xmlR.Read())
      Response.Write(xmlR.NodeType+"<br>");
     switch(xmlR.NodeType)
     {
        
        
      case XmlNodeType.Element :
               try
         {
                Response.Write(" "+xmlR.Name);
      
         while(xmlR.MoveToNextAttribute())
          Response.Write(" "+xmlR.Name+"="+xmlR.Value+" ");
         Response.Write(">");
         
        }
        catch(Exception e)
        {Response.Write("ok");}
       break;
      case  XmlNodeType.DocumentType:
       Response.Write(xmlR.NodeType+"<"+xmlR.Name+">"+xmlR.Value);
       break;
      case XmlNodeType.Text:
       Response.Write(xmlR.Value);
       break;
      default:
       Response.Write("error");
       break;
     }
         xmlR.Close();
        myStream.Close();

    怎么不能输出节点的Name,但可以输出节点的NodeType啊啊??


--  作者:hq841
--  发布时间:5/13/2007 10:16:00 AM

--  
怎么没一位大哥帮忙解决下啊???
--  作者:Qr
--  发布时间:5/14/2007 8:34:00 PM

--  
参考:
  XmlTextReader xmlR=new XmlTextReader("2books.xml");
      
  xmlR.WhitespaceHandling = WhitespaceHandling.None;
  while(xmlR.Read())
   Console.Write(xmlR.NodeType+"<br>");
  switch(xmlR.NodeType) {        

   case XmlNodeType.Element :
    try {
     Console.Write(" "+xmlR.Name);
      
     while(xmlR.MoveToNextAttribute())
      Console.Write(" "+xmlR.Name+"="+xmlR.Value+" ");
      Console.Write(">");
         
    }

    catch(Exception e)
    {
     Console.WriteLine("Exception:{0}",e.ToString());
     //Console.Write("ok");
    }

    break;
   case  XmlNodeType.DocumentType:
    Console.Write(xmlR.NodeType+"<"+xmlR.Name+">"+xmlR.Value);
    break;
   case XmlNodeType.Text:
    Console.Write(xmlR.Value);
    break;
   default:
    Console.Write("error");
    break;
  }
  xmlR.Close();


--  作者:hq841
--  发布时间:5/15/2007 1:58:00 PM

--  
非要在控制台输出才行吗???
--  作者:jiafan
--  发布时间:5/17/2007 3:22:00 PM

--  
while循环处理出错
while(xmlR.Read())
{
      Response.Write(xmlR.NodeType+"<br>");
     switch(xmlR.NodeType)
     {
       ......
     }
}
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms