XML,命名空间,E4X

时间:2018-11-09 10:21:06

标签: xml namespaces e4x

我有这个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 :(得分:0)

有几种访问这些元素的方法。

设置默认名称空间

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);