【发布时间】:2013-01-19 19:59:50
【问题描述】:
您好,我有使用不同命名空间的 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);
【问题讨论】:
-
与论坛网站不同,我们不使用“谢谢”、“感谢任何帮助”或Stack Overflow 上的签名。请参阅“Should 'Hi', 'thanks,' taglines, and salutations be removed from posts?.
-
啊,好吧!我会记得
标签: c# xml xmldocument msxml selectsinglenode