[英]How to set attribute to an XmlNode object which is not set to an instance or object. c#
我無法弄清楚如何為XmlNode
設置默認值。
我有一個名為RequirementMinTime
的XmlNode
並且當該節點不在xml文檔中時,我想將其設置為“ 0”。 這是我正在嘗試的代碼,無法正常工作。
XmlReader reader = XmlReader.Create(xmlpath, settings);
XmlDocument doc = new XmlDocument();
doc.Load(reader);
if (GlobalNode.SelectSingleNode("MinTimeMs") == null)
{
RequirementMinTime.Attributes["MinTimeMs"].Value = "0";
}
else
{
RequirementMinTime = GlobalNode.SelectSingleNode("MinTimeMs");
}
我在if語句中收到以下錯誤
“ System.NullReferenceException:'對象引用未設置為對象的實例。'”
這是對象聲明:
public static XmlNode RequirementMinTime
{
get;
set;
}
您需要創建節點,否則您將無法設置值(假設您的XmlDocument
名為xmlDoc
:
if (GlobalNode.SelectSingleNode("MinTimeMs") == null)
{
RequirementMinTime = xmlDoc.CreateElement("MinTimeMs");
RequiredMinTime.Value = "0";
}
else
{
RequirementMinTime = GlobalNode.SelectSingleNode("MinTimeMs");
}
這是解決方案
XmlReader reader = XmlReader.Create(xmlpath, settings);
XmlDocument doc = new XmlDocument();
doc.Load(reader);
if (GlobalNode.SelectSingleNode("MinTimeMs") == null)
{
XmlNode newNode = doc.CreateNode(XmlNodeType.Element, "MinTimeMs", "");
newNode.InnerText = "0";
GlobalNode.AppendChild(newNode);
RequirementMinTime = GlobalNode.SelectSingleNode("MinTimeMs");
}
else
{
RequirementMinTime = GlobalNode.SelectSingleNode("MinTimeMs");
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.