非常に些細な問題を解決する方法を見つけようとしています。「要求」と「応答」という 2 つの XML ドキュメントの「ファミリ」があるとします。
"requests" に属するドキュメントには、次のように "Request" で終わるタグ名が少なくとも 1 つあります。
<MyMessage>
<doSomethingRequest>
...
</doSomethingRequest>
...
</MyMessage>
明らかに「応答」に属するメッセージは
<MyMessage>
<doSomethingResponse>
...
</doSomethingResponse>
...
</MyMessage>
質問はとても簡単です。メッセージが 2 つのファミリのいずれかに属しているかどうかを効率的に理解するにはどうすればよいですか?
私は次のようなことを試しました:
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
すべてのタグに一致するためにワイルドカードがスタンドアロンでのみ許可されているため、これが機能していないと確信していました)。
何か案が?どうもありがとう!