我有一个使用标记器的单词列表,它们都有一个数字引用,即:Rottweiler = n#10001
我还有一个xml文件,我可以用它来查找Rottweiler是类别狗。
然而,其中一些单词的id不在xml文件中,我想要做的是如果id与xml文件中的任何id都不匹配,我的程序将移动到下一个程序。现在我的整个程序如果找不到就会中断。
这是我到目前为止所做的:
String search1 = "11111";
String nodePrefix = "n#"+search1;
Node theNode = (Node) xpath.evaluate("//*[@id='" + nodePrefix+"']", document, XPathConstants.NODE);
String categ = theNode.getAttributes().getNamedItem("categ").getNodeValue();
System.out.println("Animal "+ nodePrefix + " has category " + categ);
...more code
答案 0 :(得分:1)
如果表达:
Node theNode = (Node) xpath.evaluate("//*[@id='" + nodePrefix+"']", document, XPathConstants.NODE);
找不到节点,返回null
。所以在这种情况下你不能做任何事情,你应该避免执行其余的程序。
Node theNode = (Node) xpath.evaluate("//*[@id='" + nodePrefix+"']", document, XPathConstants.NODE);
if(theNode!=null){
String categ = theNode.getAttributes().getNamedItem("categ").getNodeValue();
System.out.println("Animal "+ nodePrefix + " has category " + categ);
...more code
}
还有其他流量控制语句,例如break
,return
或甚至可用于避免此陷阱的标签。