Я рекомендую использовать настоящий анализатор XML с учетом пространства имен, если это вообще возможно, особенно при работе с внешними сервисами.Например, нет гарантии, что префикс пространства имен останется постоянным во времени, например.
Большинство синтаксических анализаторов DOM JavaScript включают getElementsByTagNameNS()
, что позволит вам находить элементы с фактическим пространством имен.
Процесс может выглядеть примерно так, если предположить, что ваши данные были в xml_file
.
var namespace = 'http://aws.example.com/';
var parser = new DOMParser(); // Webkit, IE has its own
var xml = parser.parseFromString(xml_file, "text/xml");
var year = xml.getElementsByTagNameNS(namespace, 'year')[0]; // returns the first aws:year element
var year_value = year.getAttribute('number');