有下面的一条语句用来从XML中读取一个节点,其中topic是一个属性值:
XmlNodeList list = x.SelectNodes("/InputInfos/InputInfo[@Topic='" + topic + "']/DisplayText");现在的问题是,当topic中包含了单引号"'"的时候,这条语句执行时出错,也就是这一条语句变成了(假设topic="'aaaa'"):
XmlNodeList list = x.SelectNodes("/InputInfos/InputInfo[@Topic=''aaaa'']/DisplayText");我试过在'前加\进行转义,用'替换等都不行,怎么办呢?

解决方案 »

  1.   

    "是双引号,'是单引号,这不是主要问题,因为在SelectNode()方法中使用转义符号是没有用的,它不会转换,而只是当成相应的字符串处理了
      

  2.   

    selectNodes时用双引号也可以XmlNodeList list = x.SelectNodes("/InputInfos/InputInfo[@Topic=\"" + topic + "\"]/DisplayText");
      

  3.   

    谢谢Ninputer(装配脑袋) ,问题解决了