Я использую ksoap2 для доступа к службе Azure, и мне нужно получить свойства довольно сложного объекта. Это выглядит как
<a:top xmlns:a="http://anamespace.org/" xmlns:b="http://bnamespace.org">
<b:middle>
<b:bottom>value</b:bottom>
<b:derriere>value2</b:derriere>
</b:middle>
<b:muddle>other</b:muddle>
</a:top>
Теперь я хочу получить свойства по имени, но SoapObject.getProperty(String)
не позволяет указать пространство имен. Подэлементы имеют пространство имен, отличное от верхнего элемента. С другой стороны, объявление объекта KVMSerializable
предполагает, что свойства могут быть введены в объект по индексу и в порядке . Тем не менее, мой опыт работы с XML показывает, что
<a:top xmlns:a="http://anamespace.org/" xmlns:b="http://bnamespace.org">
<b:muddle>other</b:muddle>
<b:middle>
<b:bottom>value</b:bottom>
<b:derriere>value2</b:derriere>
</b:middle>
</a:top>
обычно так же действителен. Это неправда для SOAP? Всегда ли элементы SOAP встречаются только в одном порядке, и можно ли на них полностью полагаться?