Если вам это нужно для PHP:
Функции PHP DOM не будут работать должным образом, если не будут правильно отформатированы XML. Независимо от того, насколько лучше их использование для остальной части человечества.
simplehtmldom хорош, но я нашел его немного ошибкой, и он довольно тяжелый для памяти [Will crash на больших страницах.]
Я никогда не использовал querypath , поэтому не могу прокомментировать его полезность.
Еще один пример - мой DOMParser , который очень светлый для ресурсов, и я долгое время использовал его. Простота обучения & amp;
Для Python и Java были опубликованы похожие ссылки.
Для downvoters - я написал свой класс только тогда, когда синтаксические анализаторы XML оказались не в состоянии противостоять реальному использованию. Религиозное downvoting просто препятствует тому, чтобы полезные ответы были отправлены - держите вещи в пределах перспективы вопроса, пожалуйста.
Если вы хотите собрать идентификаторы, которые не появляются в массиве users
, то итерация users
во внешнем цикле неверна: вы добавляете элементы в tmp2
, даже не просматривая вторую «запись» из users
. 116]
Вы должны поменять их следующим образом:
for(int service : tmp) {
boolean found = false;
for(int i = 0; i < users.size(); i += 2) {
if(users.get(i+1) == service) found = true;
}
if(!found) {
for (int i...) {
tmp2.add(users.get(i));
tmp2.add(service);
}
}
}
Конечно, иметь списки с двумя столбцами - плохая практика. Рассмотрим создание класса User
с 2 полями. А использование потоков поможет создать более читаемый код.