2
命名空間中選擇一個XML使用XPath屬性我有一個內部節點NLOG一個.NET配置文件:與使用PowerShell
<?xml version="1.0"?>
<configuration>
<appSettings>
</appSettings>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets async="true">
<target xsi:type="File" name="f" fileName="path to file" />
</targets>
<rules>
<logger name="*" minlevel="Debug" writeTo="c,f" />
</rules>
</nlog>
</configuration>
我試圖改變使用PowerShell中的target
的fileName
值。
我使用這個代碼:
[xml]$xml = Get-Content $file
$ns = New-Object System.Xml.XmlNamespaceManager($xml.NameTable)
$ns.AddNamespace("ns", $namespace) # $namespace is `http://www.nlog-project.org/schemas/NLog.xsd`
$values = $xml.selectNodes($xpath, $ns)
我的XPath表達式是//ns:nlog/ns:targets/ns:target[@ns:name='f']/@ns:fileName
但是$值總是0的結果。
有什麼想法?我究竟做錯了什麼 ?
謝謝!