【发布时间】:2018-07-25 16:45:36
【问题描述】:
我有一个包含两个命名空间(“默认”命名空间和 xlink)的 XML 文档:
- xmlns="http://embassy/schemas/dudezilla/"
- xmlns:xlink="http://www.w3.org/1999/xlink"
如何在我的 PowerShell 代码中指定“两个”命名空间? PowerShell 似乎需要默认命名空间的前缀。我该怎么做?
现在我有以下代码(不确定默认命名空间要包含什么):
[System.Xml.XmlNamespaceManager] $nsmgr = $xml.NameTable;
$nsmgr.AddNamespace('?','http://embassy/schemas/dudezilla/');
[System.Xml.XmlNamespaceManager] $nsmgr = $xml.NameTable;
$nsmgr.AddNamespace('xlink','http://www.w3.org/1999/xlink');
[System.Xml.XmlNodeList] $nodelist;
[System.Xml.XmlElement] $root = $xml.DocumentElement;
$nodelist = $root.SelectNodes("//image/@xlink:href", $nsmgr);
Foreach ($xmlnode in $nodelist)
{
$xmlnode.Value;
}
谢谢!
【问题讨论】:
标签: powershell namespaces