Поиск NodeList массивом

У меня есть документ, который я просматриваю для конкретных экземпляров, однако эти экземпляры указаны пользователем и их несколько. Помимо цикла for внутри цикла for, который ищет Nodelist в отношении массива, есть ли способ, которым я не хватает, что бы не повредить систему? Или проще?

До сих пор мой код выглядит так абстрактно:

public void sortDoc(Document doc){
 NodeList list = doc.getFirstChild().getChildNodes();
 ArrayList<string> typeList = otherSorter.getTypes();
 for(int i=0; i</string>
<p> Спасибо за любую помощь, которую вы можете дать.</p>
2 ответа

Вы можете использовать List#contains(Object) чтобы проверить имя узла в ArrayList.

for(int i=0; i
<p> Также,</p> <pre class="prettyprint linenums">if(list.item(i).getNodeName()==typeList.get(j)) {</pre> <p> <span>Никогда не</span> используйте оператор выше <code>== для сравнения значений String.

Всегда используйте метод equals() для сравнения значений String следующим образом:

if(list.item(i).getNodeName().equals(typeList.get(j))) {


См. Функцию contains.

public void sortDoc(Document doc){
 NodeList list = doc.getFirstChild().getChildNodes();
 ArrayList<string> typeList = otherSorter.getTypes();
 for(int i=0; i</string>

licensed under cc by-sa 3.0 with attribution.