Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何为未设置为实例或对象的XmlNode对象设置属性。c#_C#_Xml_Xmldocument_Xmlnode - Fatal编程技术网

如何为未设置为实例或对象的XmlNode对象设置属性。c#

如何为未设置为实例或对象的XmlNode对象设置属性。c#,c#,xml,xmldocument,xmlnode,C#,Xml,Xmldocument,Xmlnode,我不知道如何将默认值设置为XmlNode 我有一个名为RequirementMinTime的XmlNode,当该节点不在xml文档中时,我想将其设置为值“0”。这是我正在尝试的代码,它不起作用 XmlReader reader = XmlReader.Create(xmlpath, settings); XmlDocument doc = new XmlDocument(); doc.Load(reader); if (Globa

我不知道如何将默认值设置为
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");
    }
im可能重复,错误为“无法将'System.Xml.Linq.XElement'隐式转换为'System.Xml.XmlNode'”