qui*_*qui 54
if(doc.SelectSingleNode("//mynode")==null)....
Run Code Online (Sandbox Code Playgroud)
应该这样做(显然doc是你的XmlDocument对象)
或者,您可以使用XSD并对其进行验证
您可以遍历每个节点,查看是否存在节点。
doc.Load(xmlPath);
XmlNodeList node = doc.SelectNodes("//Nodes/Node");
foreach (XmlNode chNode in node)
{
try{
if (chNode["innerNode"]==null)
return true; //node exists
//if ... check for any other nodes you need to
}catch(Exception e){return false; //some node doesn't exists.}
}
Run Code Online (Sandbox Code Playgroud)
您遍历Nodes(假设它是根节点)下的每个Node元素,并检查是否存在名为“ innerNode”的节点(如果需要,添加其他节点)。try..catch是因为我怀疑如果节点不存在,这会引发流行的“未设置对象引用”错误。
小智 5
//如果问题是“只是”在您 // 提取值之前验证该元素存在于 xml 文件中,您可以这样做
XmlNodeList YOURTEMPVARIABLE = doc.GetElementsByTagName("YOUR_ELEMENTNAME");
if (YOURTEMPVARIABLE.Count > 0 )
{
doctype = YOURTEMPVARIABLE[0].InnerXml;
}
else
{
doctype = "";
}
Run Code Online (Sandbox Code Playgroud)