Определить, является ли XmlNode пустым или нулевым в C#?

Следующий код принимает 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 объект нулевой или пустой?

1 ответ

Решение

Вы можете проверить, является ли параметр узла нулевым или имеет InnerText или же InnerXml свойства являются нулевыми или пустыми, сразу после ввода метода перед созданием XmlNodeReader,

Вместо этого используйте XmlElement для получения, если узел пуст.

XmlElement currNode = (XmlElement) doc.DocumentElement.LastChild;
if (currNode.IsEmpty)
{
    ...
}
Другие вопросы по тегам