#c# #xml
#c# #xml
Вопрос:
Какой лучший способ преобразовать xml в html, в настоящее время я использую Xpathnavigator и xpathnodeiterator для запроса и обхода xml. Это работает нормально, но мне нужно преобразовать этот xml в html и отобразить его в браузере с некоторыми таблицами, что является лучшим способом для достижения этой цели. И XML не всегда постоянен, я имею в виду, что xml генерируется динамически. Xml находится ниже:
-
<win32_networkadapter>
<entity>
<index>1</index>
<speed />
<manufacturer />
<pnpdeviceid />
<name>RAS Async Adapter</name>
<adaptertype />
</entity>
- <entity>
<index>2</index>
<speed />
<manufacturer>Microsoft</manufacturer>
<pnpdeviceid>ROOTMS_L2TPMINIPORT000</pnpdeviceid>
<name>WAN Miniport (L2TP)</name>
<adaptertype />
</entity>
</win32_networkadapter>
Этот XML содержит сведения о сетевых адаптерах в системе, для получения подробной информации используется wmi, а xml генерируется динамически. Таким образом, одна система может содержать 2 сетевых адаптера, как в приведенном выше xml, а другая система может содержать 3 или 4 сетевых адаптера, и в этом случае xml увеличивается. В этом случае как можно динамически генерировать html из этого xml. Отображение сведений о сети в таблицах в браузере.
Спасибо
Ответ №1:
XML-файл может быть преобразован в HTML с помощью XSLT.
Ответ №2:
Вместо преобразования xml в html вы можете оформить сам XML-документ, вы можете прочитать больше об этой документации, w3 для таблиц стилей xml, стилизации XML-документов с помощью CSS и добавлении стиля в xml
Комментарии:
1. Использование XML напрямую с CSS — это подход, которым часто пренебрегают, поэтому вы правы, напоминая нам об этом, но стоит отметить, что у него есть свои ограничения. Хотя CSS стал очень мощным, я бы подумал, что организация данных в виде таблицы строк и столбцов расширила бы этот подход до его пределов.
Ответ №3:
Существует несколько процессоров XSLT, которые могут быть вызваны из C #. Microsoft one поддерживает только XSLT 1.0 (но это может быть достаточно для ваших нужд, в зависимости от сложности преобразования). Есть два процессора, которые поддерживают XSLT 2.0 для этой среды: Saxon и XQSharp. Хотя с XSLT связана кривая обучения, код будет намного более удобным в обслуживании, чем любая вещь, которую вы пишете, используя кодирование на C # на уровне DOM.