您好我正在尝试使用Java阅读 XML文档。我想在尝试获取其中的内容之前检查所有标记是否存在。
我有类似的东西;
String ToolVersion;
if (element.getElementsByTagName("ToolVersion").getLength() > 0) {
ToolVersion = element.getElementsByTagName("ToolVersion").item(0).getTextContent(); }
我有超过20个XML标签,有没有办法做到这一点没有20" IF"条件?
答案 0 :(得分:2)
要考虑一些代码。
String getData(Element e, String tagName){
if (e.getElementsByTagName(tagName).getLength() > 0) {
return e.getElementsByTagName(tagName).item(0).getTextContent();
} else return null;
}
BODY
List<String> elementsList = Arrays.asList("ToolVersion", "ToolName", "SomethingElse");
Element e;
String tagData;
for(String tagName : elementsList){
tagData = getData(e, tagName);
//do something here
}
答案 1 :(得分:1)
您可以使用jaxb执行此操作。它提供marshaller和demarshaller,它将帮助您验证标签是否存在。