【发布时间】:2016-02-29 08:17:31
【问题描述】:
我需要一种算法来将以下 HTML 和 XML 标记相互转换
我的标记非常简单(只是嵌套的 div 标签和 img 标签),所以我不想使用 .dll 或 HTMLAgilityPack 之类的库...
HTML
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12 column">
<div class="ge-content">
<img src="/blabla.jpg" data-Type="Slider" data-Width="Full"></img>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6 col-sm-12 col-xs-12 column">
<div class="ge-content">
<img src="/blabla.jpg" data-Type="Foo" data-Height="100"></img>
</div>
</div>
<div class="col-md-6 col-sm-12 col-xs-12 column">
<div class="row">
<div class="col-md-12 col-sm-12 col-xs-12 column">
<div class="ge-content">
<img src="/blabla.jpg" data-Type="Collection" data-Width="Full" data-DisplayOrder="5"></img>
</div>
</div>
</div>
</div>
</div>
XML
<root>
<row>
<column>
<ge-content>
<UserControl>
<Type>Slider</Type>
<Width>Full</Width>
</UserControl>
</ge-content>
<class>col-md-12 col-sm-12 col-xs-12</class>
</column>
</row>
<row>
<column>
<ge-content>
<UserControl>
<Type>Foo</Type>
<Height>100</Height>
</UserControl>
</ge-content>
<class>col-md-6 col-sm-12 col-xs-12</class>
</column>
<column>
<row>
<column>
<ge-content>
<UserControl>
<Type>Collection</Type>
<Width>Full</Width>
<DisplayOrder>5</DisplayOrder>
</UserControl>
</ge-content>
<class>col-md-12 col-sm-12 col-xs-12</class>
</column>
</row>
<class>col-md-6 col-sm-12 col-xs-12</class>
</column>
</row>
</root>
【问题讨论】:
-
请在您的问题中设置正确的缩进。
-
我建议使用 XSLT 将您的 HTML 标记(看起来像一个有效的 XML)转换为 XML 标记