我有这个 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 只得到文本“测试”?
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>
如何删除整个命名空间?
感谢您的帮助。
最佳答案
有几种方法可以访问这些元素。
设置默认命名空间
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);
关于XML、命名空间、E4X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53223861/