从XML生成HTML文件

时间:2011-10-02 13:09:44

标签: asp.net html xml xml-serialization html-parsing

我有一个包含Rectangle元素的XML文件,其中包含子元素 - RGBcolor,ID,height和width。 现在我需要将矩形绘制到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 个答案:

答案 0 :(得分:1)

简短的回答是,你不能。 HTML是一种文本标记语言,而不是图形语言。

可以将所有规则转换为CSS并将它们应用于div(通用块元素),尽管这将是一个黑客攻击。

SVG是一种图形语言,它比你编写的图形语言更好,但是still has limitations。如果您将规则转换为JavaScript,那么Raphaël可以根据不同浏览器的要求生成SVG或VML。这将以牺牲JS为代价提供更广泛的支持。

为获得最广泛的支持,您可以将XML文档转换为服务器上的PNG图像。

您从格式转换为另一种格式的具体细节可以使用多种选项。你需要一个XML解析器。然后你需要阅读文档并输出你喜欢的任何格式。您可以使用DOM,而XSLT是一种流行的选项(特别是对于其他XML转换的XML)。

答案 1 :(得分:0)

我不清楚您的问题是设计要生成的HTML(和/或SVG),还是决定使用哪种技术进行转换。对于简单的矩形,我们当然可以使用具有适当CSS属性的HTML DIV元素,但SVG为您提供了更大的灵活性。无论哪种方式,我都会使用XSLT进行转换;但是请留出一些时间来阅读有关语言的内容并熟悉它,因为它可能与您之前使用的任何内容不同。