Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 88
1

XmlPullParser - проверка существования атрибута

03.01.2015, 14:05. Показов 2136. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день.
Возникла необходимость проверять наличие в xml файле какого-либо атрибута.
Подскажите метод, если таковой есть. В гугле и поиске на форуме что-то не нашел того что надо.
Для получения значения атрибута использую
Код
parser5.getAttributeValue(null, "имя_атрибута1");
. Но не во всех файлах есть "имя_атрибута1". Вот поэтому нужна проверка на его существование(чтобы использовать в условии).
Буду очень благодарен за помощь.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.01.2015, 14:05
Ответы с готовыми решениями:

Проверка существования файла
Надо проверять наличие файла в директории, где программа создаёт файлы по умолчанию. Файл...

Проверка существования файла
Добрый день, как проверить файл на существование? ввожу так, приложение вылетает с ошибкой...

Медленный XmlPullParser
Всем привет! Собственно проблема всего лишь в скорости работы, по логам посмотрел что медленно...

Изменения в XmlPullParser
Сегодня в почте увидел письмо от Гугла, что следует перейти на новую версию рекламного движка, так...

8
0 / 0 / 0
Регистрация: 09.06.2014
Сообщений: 18
04.01.2015, 22:38 2
А разве в функции getAttributeValue не один параметр int index???
0
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 88
05.01.2015, 11:27  [ТС] 3
Radeon, Не только. Можно и так.
0
325 / 123 / 10
Регистрация: 01.11.2012
Сообщений: 586
06.01.2015, 09:51 4
Termit___, метод .getName() не подойдет? Я его использую.
0
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 88
06.01.2015, 11:00  [ТС] 5
dubok79, Полный код метода:
Java
1
2
3
4
5
6
7
8
9
10
try {
                XmlPullParser parser5 = getResources().getXml(xml5);  
                                               while (parser5.getEventType()!= XmlPullParser.END_DOCUMENT) {     
                    if (parser5.getEventType() == XmlPullParser.START_TAG) {      
                        if (parser5.getName().compareTo("hero")==0) {
                         if (0<(parser5.getAttributeValue(null, "first_name")).length()) {!код выполнения условия!}  //вот тут надо выяснить существует оно или нет(в этой строке код неработает, просто пытался выдернуть количество символов).
 }
}
}
}
Мне нужно выяснить есть ли в xml файле в данном случае строка(атрибут) с именем "first name". Потому что если этой строки нет, то код не выполняется и условие не проходит и соответственно код в условии(или код else) не работает, т.к. неизвестен результат выполнения/невыполнения условия.
getName получает имя Тага(в данном случае "hero"), а у меня под тагом много атрибутов с разными именами.
XML
1
2
3
4
5
6
<a_spectre>
    <hero
    first_name="Имя"
    ....
    last_name="Имя n" />
</a_spectre>
Как-то так.
0
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 88
18.12.2020, 13:20  [ТС] 6
Если вдруг кому нужно - нашел решение сам.

Проверка, что атрибут не null.

Java
1
2
3
if (parser.getAttributeValue(null, "attribute_name") != null) {
String str = parser.getAttributeValue(null, "attribute_name");
}
Без этой проверки, если нет такого атрибута в разбираемом xml файле, к которой обращается парсер - его работа прекращается, даже если дальше по коду есть какие-то действия. Они выполнены не будут.
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
18.12.2020, 16:13 7
5 лет искал возможность проверить на null?
0
5 / 5 / 0
Регистрация: 02.04.2013
Сообщений: 88
18.12.2020, 16:56  [ТС] 8
Что характерно, за 5 лет я первый нашел решение. Не нашлось че-то больше никого, хоть все и такие умные. ¯\_(ツ)_/¯
На самом деле тогда нужно было, в начале изучения Android. Гуглил-перегуглил, спрашивал переспрашивал - никто не ответил. Нашел какое-то обходное костыльное решение и забыл. А сейчас понадобилось опять, решил погуглить и нашел свою же ветку на форуме без ответа. ^_^ Благо сейчас уже сам додумался найти решение... Может кому пригодится. А то таких веток без ответов по всему интернету море. Теперь на одну меньше.
0
1570 / 1168 / 426
Регистрация: 08.05.2012
Сообщений: 5,219
18.12.2020, 17:06 9
Цитата Сообщение от Termit___ Посмотреть сообщение
Не нашлось че-то больше никого
Да потому что никто это не использует, а остальные не будут разбираться как там что устроено.
0
18.12.2020, 17:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2020, 17:06
Помогаю со студенческими работами здесь

Самозакрывающийся тег XmlPullParser
Здравствуйте уважаемые форумчане! Возникла проблемка: не могу спарсить самозакрывающийся тег: ...

Проверка существования ассета
Всем привет! Такая проблема: закинул аудиофайл в папку assets для android, а теперь мне надо в коде...

Проверка на существования ID
Всем привет !!! :) У меня такой вопрос можно ли вообще проверить в PHP существует ли...

Проверка существования id
Короче мне нужно чтоб выводило если нету этого ид то чтоб оно писало такого ид нету

Проверка существования пользователя в БД
Здравствуйте. Есть форма для регистрации пользователя. Необходимо добавить его данные в БД, а...

Проверка существования переменной
Мне нужно сделать так, чтобы функция получала в качестве аргумента строку, и проверяла, существует...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru