如何为未设置为实例或对象的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'”