我正在用C#開發我的第一個WPF應用程序,但是當我嘗試讀取Xml屬性時遇到問題。閱讀Xml屬性時出現C#錯誤
我有以下XML:
<?xml version="1.0" encoding="utf-8"?>
<Dictionary EnglishName="Italian" CultureName="Italian" Culture="">
<!-- MainWindow -->
<Value ID="WpfApplication1.MainWindow.BtnDrawCircle" Content="Circonferenza"/>
<Value ID="WpfApplication1.MainWindow.BtnDrawLine" Content="Linea"/>
....
....
</Dictionary>`
現在,我試圖讓屬性 「內容」 下面的方法:
public static string ReadNodeAttribute(string IDAttribute)
{
try
{
XmlDocument _Doc = new XmlDocument();
_Doc.Load("myPath\\Language\\it-IT.xml");
string _Value = _Doc.SelectSingleNode("//Value[@ID=" + IDAttribute + "]").Attributes["Content"].Value.ToString();
return _Value;
}
catch (Exception ex)
{
return null;
}
}
但它不工作:
錯誤:ex {「對象引用未設置爲對象的實例。」} System.Exception {System.NullReferenceException}
「it dosn't work」。你能更準確地瞭解dosnt的工作原理嗎?你究竟傳遞了什麼'IDAttribute'? –
IDAttribute我嘗試通過這個「WpfApplication1.MainWindow.BtnDrawCircle」....但我收到下面的錯誤:例如\t {「對象引用未設置爲對象的實例。」} \t System.Exception {系統。 NullReferenceException} – Mameo96
做這件事的方法不是寫一大堆有多個失敗點的代碼,然後嘗試猜測它失敗的位置。一次構建一個小塊。首先,嘗試'var xn = _Doc.SelectSingleNode(「// Value [@ ID =」+ IDAttribute +「]」);'看看你得到了什麼'xn'。您可以在調試器中使用監視窗口。一旦找出正確的xpath表達式來獲得所需的節點,您可以在調試器中查看它的'Attributes'集合*並查看其中的內容。據我所知,文件的相對路徑可能是錯誤的。加載後檢查_Doc! –