您好我有使用不同命名空间的 xml 文件(实际上是 msbuild 文件)
<?xml version="1.0" ?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Condition="'$(key)'=='1111'">
<Key>Value</Key>
</PropertyGroup>
</Project>
但问题是我不能将 SelectSingleNode 与该文件一起使用,因为
xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
我相信这是因为上面的 xmlns 导致默认命名空间(该方法所必需的)消失了。然后我想我只需要为此添加必要的一个。但我的尝试根本没有成功。你能给我一个简单的例子吗?
这就是我的做法。(我也尝试添加多个命名空间但没有成功..)
XmlDocument xml = new XmlDocument();
xml.Load("ref.props");
XmlNamespaceManager nsmgr = new XmlNamespaceManager(xml.NameTable);
nsmgr.AddNamespace("msbld", "http://schemas.microsoft.com/developer/msbuild/2003");
XmlNode platform_node
= xml.SelectSingleNode("//msbld:PropertyGroup[contains(@Condition, '1111')]", nsmgr);