我试图弄清楚如何解决一个非常琐碎的问题。假设我有两个“家族”的 xml 文档:“请求”和“响应”。
属于“请求”的文档至少有一个以“请求”结尾的标签名称,如下所示:
<MyMessage>
<doSomethingRequest>
...
</doSomethingRequest>
...
</MyMessage>
显然属于“响应”的消息将是
<MyMessage>
<doSomethingResponse>
...
</doSomethingResponse>
...
</MyMessage>
现在这个问题很简单。如果消息属于两个家庭之一,我如何才能有效地理解?
我试过类似的东西:
public static String getMessageFamily(Document xml){
if(xml.getElementsByTagName("*Request").getLength() != 0){
return "I'm a Request!";
} else if(xml.getElementsByTagName("*Response").getLength() != 0){
return "I'm a Response!";
} else {
return "don't know who I am";
}
}
但显然这不起作用(实际上我很确定这不起作用,因为通配符org.w3c.dom.Document
只允许独立匹配所有标签)。
任何的想法?非常感谢!