Я пытаюсь выяснить, как решить очень тривиальную проблему. Предположим, что у меня есть два «семейства» xml-документов: «запросы» и «ответы».Как получить все узлы XML с именем тега, заканчивающимся определенной строкой
Документа, принадлежащий к «запросам» имеет по крайней мере одно имя тега, который заканчивается «Request», как это:
<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
допускается только автономным, чтобы соответствовать все тегам).
Любая идея? Спасибо большое!