<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup>
      <Item Id="001" />
      <Item Id="002" />
    </ItemGroup>
</Project>查询时:
XmlNodeList list=doc.SelectNodes("/Project/ItemGroup/Item");
foreach(XmlNode node in list)
{
    string id=node.Attributes["Id"].Value;
}
取不到值的说。
于是我就将xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
这个属性去掉了,居然取到了。
但是XML文件是系统生成的。都有这个属性的嚎。
该怎么去值呢?简单点的方法呀。
这个xmlns属性是规范吗?
怎么会影响到查询呢?
求解!
本人分少,望谅解嚎。XMLXPathString

解决方案 »

  1.   

    是规范。这就是xml比较令人头疼的地方。建议使用json,而不是xml。
      

  2.   

    命名空间不同,虽然名字还叫做Project,但是那就意味着两个完全不同对象类型了。你可以查询你用的xml解析类库的文档,都有相关的设置命名空间的属性,例如初始化你的doc对象时可能需要提供 XAttribute 类型的参数来设置它,等等。反正我是不打算使用xml了。
      

  3.   


    可能需要提供 XAttribute 类型的参数来设置它 --〉 可能需要提供 XAttribute 类型的参数来设置XNamespace
      

  4.   

    已经解决了,虽然给的分少,用XmlNameSpace来增加了命名空间,xmlns的用途也已经了解。