用ds.ReadXml("Menus.xml")读xml数据到DataSet中, 报错:分析 EntityName 时出错。 行 10,位置 44。 是因为 <MenuUrl>reportformview?blockname=沪深A股&sortindex=Index_DifferRange</MenuUrl>中有“&”字符造成,如何解决?
<Menus>
 <Menu>
   <MenuID>01</MenuID>
   <MenuCH>沪深A股</MenuCH>
   <MenuEN>Stock</MenuEN>
   <MenuUrl>reportformview?blockname=沪深A股&sortindex=Index_DifferRange</MenuUrl>
   <Level>1</Level>
 </Menu>
  <Menu>
   <MenuID>0101</MenuID>
   <MenuCH>沪深B股</MenuCH>
   <MenuEN></MenuEN>
   <MenuUrl>reportformview?blockname=沪深B股&sortindex=Index_DifferRange</MenuUrl>
   <Level>1</Level>
   </Menu>
   ...
 <Menus>

解决方案 »

  1.   

    读取时将——替换成 &amp;  
      

  2.   

    读取时将&替换成 &amp;
      

  3.   

    如何读取时将xml文件中的所有&替换成&amp;
      

  4.   

    你生成这样的xml时就该替换。不然就是错误的xml,用ie打开会报错。
      

  5.   

    用replace替换下,把&替换成&amp,LZ试下
      

  6.   

    你不是用WriteXml写的文件吧。
    那你需要先用正则替换掉xml中的&才能读取。如果WriteXml,会替换后写入的。DataTable table = new DataTable();
    table.Columns.Add("url", typeof(string));
    DataRow row = table.NewRow();
    row[0] = @"reportformview?blockname=沪深B股&sortindex=Index_DifferRange";
    table.TableName = "test";
    table.Rows.Add(row);
    table.WriteXml("aa.xml");
    table.ReadXml("aa.xml");
      

  7.   

    xml文件本身格式错误,内容里面不允许有&<>""这些保留字符,你先把xml文件格式处理好再说吧
      

  8.   

    写入时的问题& 在 xml 中是特殊字符,使用它要转义& -> &amp;你的问题不在读,而是保存的时候就不正确
      

  9.   

    就用replace 一行一行 循环替换被
      

  10.   

    http://stackoverflow.com/questions/121511/reading-xml-with-an-into-c-xmldocument-object
      

  11.   


    xml文件是其他地方生成的,我是想在把xml文件数据读到dataset之前将所有的& 替换成&amp;
      

  12.   


    string xmlCode = File.ReadAllText("aa.xml");
    File.WriteAllText("aa.xml", xmlCode.Replace("&", "&amp;"));
    table.ReadXml("aa.xml");