在C#中确定XmlNode是空还是null?

时间:2011-01-25 16:24:28

标签: c# null dataset xmlnode

以下代码采用XmlNode数据类型,并使用DataSet内容填充XmlNode对象。然后我将数据集的内容写入文件。

public void PopulateDataSet(XmlNode node)
{
    XmlNodeReader reader = new XmlNodeReader(node);
    DataSet ds = new DataSet();
    ds.ReadXml(reader);

    system.Guid guid = System.Guid.NewGuid();
    string name = string.Format("{0}{1}_{2}.xml", Utility.XmlOutputPath, Utility.XmlOutputFileName, guid.ToString());

    //need to write "Node empty" to file if XmlNode object is empty of null
    ds.WriteXml(name, XmlWriteMode.IgnoreSchema);
}

问题是我遇到了一个不会将内容写入文件的场景。如何确定XmlNode对象是空还是空?

2 个答案:

答案 0 :(得分:5)

在甚至创建InnerText之前输入方法时,您可以立即检查节点参数是否为空或者InnerXmlXmlNodeReader属性是空还是空。

答案 1 :(得分:0)

如果节点为空,请使用XmlElement代替获取。

XmlElement currNode = (XmlElement) doc.DocumentElement.LastChild;
if (currNode.IsEmpty)
{
    ...
}