Как преобразовать XML в HTML таблицу?

vave

Полезный
Регистрация
22 Июн 2007
Сообщения
466
Реакции
16
Дорогие друзья!
Помогите пожалуйста!
Как XML с таким содержанием преобразовать в HTML таблицу?

Я перерыл весь интернет, нашел кучу вариантов, но все они предназначены для XML с другим типом содержания.

Буду очень благодарен за помощь!!!
 
Мне на одном из форумов, дали такое решение, как его реализовать?

Код:
var source = XDocument.Load("source.xml");
var attributes = source.Root.Element("flight").Attributes();

var header = new XElement("tr", attributes.Select(attr => new XElement("th", attr.Name)));
var body = new XElement("tr", attributes.Select(attr => new XElement("td", attr.Value)));

var result = new XDocument(new XElement("table", header, body));
result.Save("result.html");
 
Из вопроса не совсем понятно какая таблица должны быть.
Вот вариант на чистом яваскрипте который распечатывает параметры первого тега в таблице


Код:
    var xmldata = '<?xml version="1.0" encoding="utf-8"?>'
    xmldata += '<data>'
    xmldata += '<flight reys_num="***" reys_num_en="***" aircompany="***" aircompany_en="***" aircompany_ext="***" aircompany_ext_en="***" status="отправлен" status_en="departed" terminal="" litera="" litera_en="" typevs_code="B-767-300" typevs_code_en="B763" type="В" type_en="D" view="Ю" view_en="P" bort_number="VPBDI" stay_number="37" date_and_time_plan="27.04.2015 00:20" date_and_time_calc="27.04.2015 00:20" date_and_time_fact="27.04.2015 00:26" delay_time="" delay_code="" delay_code_en="" src_city="Красноярск" src_city_en="Krasnoyarsk" dest_city="Новосибирск" dest_city_en="Novosibirsk" src_port="Красноярск (Емельяново)" src_port_en="Krasnoyarsk (Yemelyanovo)" src_port_cod="ЕМВ" dest_port="Новосибирск(Толмачево)" dest_port_en="Novosibirsk(Tolmachevo)" dest_port_cod="ТЛЧ" etd="27.04.2015 00:20" eta="27.04.2015 00:35" period_start="27.04.2015 00:20" period_end="27.04.2015 00:50" days="••••••7" path="Красноярск (Емельяново) - Новосибирск(Толмачево)" path_en="Krasnoyarsk (Yemelyanovo) - Novosibirsk(Tolmachevo)" />'
    xmldata += '</data>'
    // var xml=xhr.responseXML.parseFromString(xmldata,"text/xml");
    var xml=new DOMParser().parseFromString(xmldata,"text/xml");

    var flight = xml.getElementsByTagName('flight')[0];
    html = '<table>'
    for(var i=0; i<flight.attributes.length; i++){
        var attr = flight.attributes[i]
        html += '<tr><td>'+attr.name+'</td><td>'+attr.value+'</td></tr>'
    }
    html += '</table>'
    document.body.innerHTML = html
если xml загружается через аякс то нужно использовать закомментированную строку
 
Если быстро и чисто то ручками :)
 
Назад
Сверху