Так как один из тегов является "saxparser", я предполагаю, что это то, что вы используете. В этом случае вызовы методов кажутся правильными, и проблема в том, что attributes
не правильно инициализируется значениями, содержащимися в вашем XML. Пожалуйста, добавьте код, чтобы показать, как вы генерируете attributes
.
РЕДАКТИРОВАТЬ: Проблема, вероятно, в том, что
attributes.getValue("rows")
возвращает ноль, поскольку вы не используете квалифицированных имен в своем XML; см. документацию к библиотеке SAX , в частности документацию Attributes.getValue (String) . Если вы используете Attributes.getValue(String)
и квалифицированные имена недоступны, будет возвращено null
.
Полезное, но краткое объяснение квалифицированных имен в SO можно найти здесь .
EDIT2: Я не знаю, как правильно настроить XML (сам никогда не использовал XML), но вам не нужно использовать пространства имен, вы можете делать то, что вы хотите, используя Attributes.getValue(int)
, поскольку это работает не с именами атрибутов, а с списком атрибутов, которые он содержит. Вам, вероятно, нужно выяснить порядок атрибутов; Вы можете понять это следующим образом:
for(int i = 0; i < attributes.getLength(); i++) {
System.out.println(attributes.getValue(i));
}
Надеюсь, это поможет; возможно вы можете найти что-то полезное в пространствах имен в XML для SO; в противном случае, если ваша программа требует использования атрибутов адресации по их именам, вам, вероятно, придется узнать о пространствах имен XML.