簡體   English   中英

如何將屬性設置為未設置為實例或對象的XmlNode對象。 C#

[英]How to set attribute to an XmlNode object which is not set to an instance or object. c#

我無法弄清楚如何為XmlNode設置默認值。

我有一個名為RequirementMinTimeXmlNode並且當該節點不在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM