2
我試圖讀取屬性的值,檢查另一個屬性的值。下面是我有的XML的內容。從XPath檢索屬性值與來自同一節點的另一個屬性值匹配
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<targets>
<target name="default" xsi:type="File" layout="${longdate}${message}${exception:format=tostring}" fileName="${basedir}/logs/Test24x7.txt" archiveAboveSize="999000" maxArchiveFiles="100" archiveEvery="Day"/>
<target name="f7" xsi:type="File" layout="${longdate}${message}${exception:format=tostring}" fileName="${basedir}/logs/Errors/error.txt" archiveAboveSize="300000" maxArchiveFiles="100" archiveEvery="Day"/>
</targets>
<rules>
<!-- <logger name="*" minLevel="Debug" appendTo="f0"/> -->
<logger name="*" minLevel="Info" appendTo="default"/>
<logger name="*" minLevel="Error" appendTo="f7"/>
</rules>
</nlog>
在這裏,我需要從name屬性值爲「default」的元素目標中獲取屬性archiveAboveSize的值。以下是我寫的代碼。
XmlDocument doc = new XmlDocument();
doc.Load("file.exe.nlog");
var node = doc.DocumentElement.SelectSingleNode("//nlog/targets/target[@name = 'default']/@archiveAboveSize");
return node.Value;
但是我變量節點一直變空。我在這裏做錯了什麼?任何幫助將非常感激。