我有一个包含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 .. 谢谢大家
答案 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进行转换;但是请留出一些时间来阅读有关语言的内容并熟悉它,因为它可能与您之前使用的任何内容不同。