在 C# 中确定 XmlNode 是空还是 null?
Posted
技术标签:
【中文标题】在 C# 中确定 XmlNode 是空还是 null?【英文标题】:Determine if a XmlNode is empty or null in C#? 【发布时间】:2011-01-25 16:24:27 【问题描述】:以下代码采用XmlNode
数据类型并使用XmlNode
内容填充DataSet
对象。然后我将数据集的内容写入文件。
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("01_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】:您可以在创建XmlNodeReader
之前立即检查节点参数是否为null或InnerText
或InnerXml
属性为null或为空。
【讨论】:
【参考方案2】:如果节点为空,则使用 XmlElement 代替 get。
XmlElement currNode = (XmlElement) doc.DocumentElement.LastChild;
if (currNode.IsEmpty)
...
【讨论】:
以上是关于在 C# 中确定 XmlNode 是空还是 null?的主要内容,如果未能解决你的问题,请参考以下文章
函数 RemoveChild(XmlNode 节点)在 C# 中失败
如何在 C# 中使用 XmlDocument 和 XmlNode 修改现有 XML 文件