使用Java检查是否存在多个XML标记
您好,我正在尝试使用Java阅读XML文档。在尝试获取文档中的内容之前,我想检查所有标记是否存在 我有这样的东西使用Java检查是否存在多个XML标记,java,xml,Java,Xml,您好,我正在尝试使用Java阅读XML文档。在尝试获取文档中的内容之前,我想检查所有标记是否存在 我有这样的东西 String ToolVersion; if (element.getElementsByTagName("ToolVersion").getLength() > 0) { ToolVersion = element.getElementsByTagName("ToolVersion").item(0).getTextContent()
String ToolVersion;
if (element.getElementsByTagName("ToolVersion").getLength() > 0) {
ToolVersion = element.getElementsByTagName("ToolVersion").item(0).getTextContent(); }
我有20多个XML标记,有没有一种方法可以在没有20个“IF”条件的情况下执行此操作?需要考虑一些代码
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
}
String getData(元素e,字符串标记名){
如果(e.getElementsByTagName(标记名).getLength()>0){
返回e.getElementsByTagName(标记名).item(0).getTextContent();
}否则返回null;
}
身体
List elementsList=Arrays.asList(“ToolVersion”、“ToolName”、“SomethingElse”);
元素e;
字符串标记数据;
for(字符串标记名:elementsList){
tagData=getData(e,标记名);
//在这里做点什么
}
您可以使用。它提供了marshaller和demarshaller,这将帮助您验证标记是否存在。Foreach(标记列表中的标记:标记){if[retrive Tag].getLenght>0;}我的意思是,创建一个标记列表,然后循环。此链接可能会对您有所帮助。您不使用模式验证器的原因是什么?手工编写自己的代码进行验证似乎有点低技术。