XML, пространства имен, E4X - PullRequest
       38

XML, пространства имен, E4X

0 голосов
/ 09 ноября 2018

У меня есть этот XML-файл:

var k= <texta xmlns="http://www.ert.com" xmlns:ns="http://asd/asi/" xmlns:xsd="http://dgewdged" xmlns:SOAP-ENV="http://sasdfasdf" xmlns:xsi="http://asdfasdgsde">
  <textb>
    <textc>Test</textc>
  </textb>
</texta>

как я могу получить с E4X только текст "Test"?

var text=k.textb;
Alert(text);

Я попробовал это таким образом ... но я получаю:

<textb xmlns="http://www.ert.com" xmlns:ns="http://asd/asi/" xmlns:xsd="http://dgewdged" xmlns:SOAP-ENV="http://sasdfasdf" xmlns:xsi="http://asdfasdgsde">
    <textc>Test</textc>
  </textb>

Как я могу удалить все пространства имен?

спасибо за вашу помощь.

1 Ответ

0 голосов
/ 16 ноября 2018

Существует несколько способов доступа к этим элементам.

Настройка пространства имен по умолчанию

default xml namespace = 'http://www.ert.com';
var text = k.textb.textc.toString();
Alert(text);
// reset to empty namespace
default xml namespace = '';

Использование явного пространства имен

var ert = new Namespace('http://www.ert.com');
var text = k.ert::textb.ert::textc.toString();
Alert(text);

Использование подстановочных знаков пространства имен

var text = k.*::textb.*::textc.toString();
Alert(text);
...