Теоретически, пространства имен XML используются, чтобы избежать конфликта с именами тегов.Поэтому я могу создать пространство имен, содержащее тег с именем «mytag», а кто-то другой создаст другое пространство имен с таким же тегом «mytag», и конфликта не будет.Каждый тег «mytag» будет четко дифференцирован.
На практике я обнаружил, что пространства имен XML практически бесполезны (как часто у вас есть два разработчика, создающих тег для одного и того же файла XML?), И просто выполняете синтаксический анализдосадно сложно.
В EX4 вам нужно получить пространство имен, а затем префикс каждого тега с этим пространством имен.Так, например, если вы хотите получить доступ к тегу <somenamespace::somename>
, вы напишите:
var somenamespace:Namespace = xml.namespace("somenamespace");
var sometag:XML = somenamespace::somename[0];
Если вы выполните поиск в Google, вы найдете несколько классов AS3, которые удаляют эти бесполезные пространства имен из XML, чтобы сделатьразбирать проще.