Я пытаюсь прочитать XML-файл, а затем сохранить некоторые данные из него в массив. Затем мне нужно пройти через массив и вставить элементы в конкретный узел. Например, это мой XML-файл:Вставить значения из массива в определенный узел в xml
<?xml version="1.0" encoding="UTF-8" ?>
<contact>
<name>
<header>
<de>Hallo</de>
<en>Hello</en>
</header>
</name>
<name>
<header>
<de>Welt</de>
<en>World</en>
</header>
</name>
</contact>
и это то, что я хочу получить:
<?xml version="1.0" encoding="UTF-8" ?>
<contact>
<name>
<header>
Hello
</header>
</name>
<name>
<header>
World
</header>
</name>
</contact>
У меня есть проблема, когда мне нужно вставить в массив значений узла заголовка.
$.ajax({
type: "GET",
url: '1.xml',
dataType: "xml",
success: function(xml) {
var values = [];
$(xml).find('header').each(function() {
var text = $(this).find(lang).text();
values.push(text);
});
$(xml).find('header').each(function() {
$(xml).find('de').remove();
$(xml).find('en').remove();
});
// this part where I have problem
$(xml).find('header').each(function() {
$.each(values, function(i, val) {
$(xml).find('header').append(val);
});
});
})
});
но это жесткое кодирование ?! зависит от переменной 'lang', иногда мне нужно заменить содержимое с' ' –
Christian
Вы можете заменить' en' параметром lang 'find ('header' + lang)' –
спасибо! он отлично работает – Christian