создает файл HTML из XML - PullRequest
       6

создает файл HTML из XML

0 голосов
/ 02 октября 2011

У меня есть XML-файл с элементами Rectangle, который содержит подэлементы - RGBcolor, ID, высоту и ширину.Теперь мне нужно нарисовать прямоугольники на веб-странице HTML с указанными размерами, цветом и именем в нескольких DIV.как мне это сделать?Я новичок в бизнесе, поэтому, пожалуйста, постарайтесь описать как можно больше.вот мой xml:

 <?xml version="1.0"?>
 <ArrayOfRectangle xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Rectangle>
 <Id>First one</Id>
 <TopLeft>
  <X>0.06</X>
  <Y>0.4</Y>
 </TopLeft>
 <BottomRight>
  <X>0.12</X>
  <Y>0.13</Y>
 </BottomRight>
 <Color>
  <Red>205</Red>
  <Green>60</Green>
  <Blue>5</Blue>
 </Color>
</Rectangle>
<Rectangle>
 <Id>Second One</Id>

XML в порядке, и я даже десериализовал его обратно, но я не знаю, как выполнить синтаксический анализ в HTML .. Спасибо всем

Ответы [ 2 ]

1 голос
/ 02 октября 2011

Короткий ответ: ты не можешь. HTML является языком разметки текста, а не языком графики.

Вы могли бы преобразовать все свои правила в CSS и применить их к div-элементам (элементам общего блока), хотя это было бы взломом.

SVG - это графический язык, который будет лучше поддерживаться, чем ваш вымышленный, но по-прежнему имеет ограничения . Если вы преобразуете свои правила в JavaScript, тогда Raphaël может генерировать SVG или VML в соответствии с требованиями различных браузеров. Это даст более широкую поддержку по стоимости в зависимости от JS.

Для самой широкой поддержки вы можете преобразовать документ XML в изображение PNG на сервере.

Особенности преобразования вашего формата в другой открыты для нескольких вариантов. Вам понадобится парсер XML. Затем вам нужно прочитать документ и вывести в любом формате. Вы можете использовать DOM для этого, и XSLT является популярным вариантом (особенно для преобразования XML в другие XML-переводы).

0 голосов
/ 03 октября 2011

Мне не ясно, разрабатывает ли ваша проблема HTML (и / или SVG), который вы хотите сгенерировать, или решаете, какую технологию использовать для преобразования.Для простых прямоугольников мы, конечно, можем использовать HTML DIV-элементы с соответствующими свойствами CSS, но SVG дает вам больше гибкости.В любом случае, я бы использовал XSLT для преобразования;но позвольте некоторое время прочитать о языке и ознакомиться с ним, потому что он, вероятно, не похож на то, что вы использовали раньше.

...