Как конвертировать XML в Html в c #?

#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.