日期:2014-05-18  浏览次数:20870 次

XML定位问题
<Goods ID="2011071">
  <Data Describe="" ImgPath="http://localhost:21173/2011071/B9EDC21B2396F94540F44CD4459D9290.jpg" />
  <Data Describe="" ImgPath="http://localhost:21173/2011071/E44F501BF253F5853B39DB8C63A1BE70.jpg" />
  <Data Describe="" ImgPath="http://localhost:21173/2011071/3BB51DDB852EBC307A5CB2FADAB1A8E1.jpg" />
</Goods>
如上的XML结构,怎么通过ImgPath定位老是提示错误。是因为带有网址的“/”符号原因吗?
定位语句
xmlDoc.SelectNodes("/Goods[@ID=" + strGoodsID + "]/Data[@ImgPath=" + strPath + "]");
搞不懂什么原因

------解决方案--------------------
XmlDocument doc = new XmlDocument();
doc.Load(Server .MapPath ("test.xml") );
string strGoodsID="2011071";
string strPath="http://localhost:21173/2011071/B9EDC21B2396F94540F44CD4459D9290.jpg";
XmlNodeList lis= doc.SelectNodes("/Goods[@ID='" + strGoodsID + "']/Data[@ImgPath='" + strPath + "']");

在 [@ImgPath='" + strPath + "'] 中添加单引号..
------解决方案--------------------
也可以用linq to xml查找起来也比较方便~