【发布时间】:2013-05-29 11:50:35
【问题描述】:
我有以下存根 XML 文件
<ResourceDictionary x:Uid="CultureResources"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:system="clr-namespace:System;assembly=mscorlib"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<system:String x:Uid="system::.CultureName" x:Key=".CultureName">de-DE</system:String>
</ResourceDictionary>
我想以与当前显示以下测试代码相同的方式自动生成它
[xml]$xmlfile = Get-Content "c:\test.xml"
[System.Xml.XmlNamespaceManager] $nsm = new-object System.Xml.XmlNamespaceManager $xmlfile.NameTable
$nsm.AddNamespace("x", "http://schemas.microsoft.com/winfx/2006/xaml")
$nsm.AddNamespace("system", "clr-namespace:System;assembly=mscorlib")
$nn = $xmlfile.CreateElement("system:String", $nsm)
$nn.set_InnerText("de-DE")
$nn.SetAttribute("Uid","system:.CultureName")
$nn.SetAttribute("Key",".CultureName")
$xmlfile.ResourceDictionary.AppendChild($nn)
但我得到的输出是
<ResourceDictionary x:Uid="CultureResources"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:system="clr-namespace:System;assembly=mscorlib"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<system:String x:Uid="system::.CultureName" x:Key=".CultureName">de-DE</system:String>
<system:String Uid="system:.CultureName" Key=".CultureName" xmlns:system=" xmlns xml x system">de-DE</system:String>
</ResourceDictionary>
我该怎么做:
A) 去掉命名空间文本
xmlns:system=" xmlns xml x system"
B) 在我的属性前加上“x:”
任何帮助将不胜感激。
问候,
瑞恩
【问题讨论】:
标签: xml powershell namespaces