好的,很抱歉再次发布XML问题,我对解析XML文档很陌生,一直在浏览指南和东西,但似乎无法让它工作,所以我在这里有以下代码
public void test()
{
//elfdb = new DB_GET();
//elfdb.ParseXML(@"C:\Users\elfen\AppData\Local\PCDJ-DEX3\Database\Database.xml");
XmlDocument doc = new XmlDocument();
doc.Load(@"C:\Users\elfen\AppData\Local\PCDJ-DEX3\Database\Database.xml");
XmlNodeList nodes = doc.SelectNodes("/database/tracks/track");
foreach (XmlNode node in nodes)
{
//string trackID = node.Attributes[0].InnerXml;
//string Artist = node.Attributes[1].InnerXml;
//string Title = node.Attributes[2].InnerXml;
string MusicPath = node.Attributes["fnam"].Value;
if (node.Attributes["arti"].Value != null)
{
Artist = node.Attributes["arti"].Value;
}
else
{
Titel = node.Attributes["titl"].Value;
paths.Add(MusicPath);
}
}
checkfiles();
}
我遇到的问题是 Artist 节点不断返回 null(是的,我看过有几首歌曲没有艺术家,所以可以看到为什么会发生 null 异常)
我遇到的问题是我正在尝试创建一个 IF 函数,
我得到返回的 null 对象不是对象的实例。
尝试了很多方法,
节点。Attributes[“arti”].值 != null
布尔测试布尔 = 节点。Attributes[“arti”].值 == 0
然后将 testbool 传递给 if 语句,但仍然错误相同
所以认为也许 if(nodes != null)
但是同样的问题仍然没有注册为空值,并且认为不是我使用 xpath 的最佳方法,它永远不会为空
所以在这里我再次寻求指导,很抱歉问了很多问题,
亲切的问候,
Note:此问题总结整理于: c# XML check if node is not null or child of node is not null