在C#中确定一个XmlNode是空还是空?

问题描述 投票:2回答:2

下面的代码取一个 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 对象是空的还是空的?

c# null dataset xmlnode
2个回答
5
投票

你可以检查node参数是否为空或是否有 InnerTextInnerXml 属性为空,当你进入方法时,甚至在建立 XmlNodeReader.


0
投票

如果节点为空,则使用XmlElement代替get。

XmlElement currNode = (XmlElement) doc.DocumentElement.LastChild;
if (currNode.IsEmpty)
{
    ...
}
© www.soinside.com 2019 - 2024. All rights reserved.