Определить, является ли 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)
{
...
}