Ole*_*kyy 3 xml powershell xdt-transform
实际上我对xtd-transform没有太多了解.我需要的xdt文件:
<add key="EndpointName" value="SomeValue" xdt:Transform="SetAttributes(value)" xdt:Locator="Match(key)" />
Run Code Online (Sandbox Code Playgroud)
我在powershell中做的例行工作:
$cache.SetAttribute("key","EndpointName")
$cache.SetAttribute("value","SomeValue")
$cache.SetAttribute("xdt:Transform","SetAttributes(value)")
$cache.SetAttribute("xdt:Locator","Match(key)")
Run Code Online (Sandbox Code Playgroud)
这就是我所拥有的.不符合我的观点:
<add key="EndpointName" value="Email" Transform="SetAttributes(value)" Locator="Match(key)" />
Run Code Online (Sandbox Code Playgroud)
那么可以使用powershell脚本创建xdt:attribute吗?
多谢你们!
当涉及XML名称空间时,您需要使用XmlNamespaceManager,例如:
$xdt = 'http://schemas.microsoft.com/XML-Document-Transform'
$xml = [xml]"<doc xmlns:xdt='$xdt'><add key='foo' value='foo' xdt:Transform='foo' xdt:Locator='foo'/></doc>"
$nsmgr = new-object Xml.XmlNamespaceManager $xml.NameTable
$nsmgr.AddNamespace("xdt", $xdt)
$xml.doc.add.SetAttribute('Transform', $xdt, 'SetAttribute(value)') > $null
Run Code Online (Sandbox Code Playgroud)
结果是:
<doc xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<add key="foo" value="foo" xdt:Transform="SetAttribute(value)" xdt:Locator="foo" />
</doc>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
762 次 |
| 最近记录: |