【发布时间】:2011-12-15 15:08:46
【问题描述】:
我在以下架构中有一些 XML:
<Form ID="1" Formtitle="Title">
<Fields>
<Fieldset Legend="LegendText" >
<Field FieldName="Field1" Label="Title" Type="Text" Required="1" />
<Field FieldName="Field2" Label="Radio" Type="Radio" Required="0">
<Option Value="1" Text="Just One"/>
<Option Value="2" Text="Maybe Two"/>
</Field>
</Fieldset>
</Fields>
</Form>
我需要在 C# 中解析这个以生成一个 HTML 表单,它代表以下内容:
<h1>Formtitle</h1>
<form id="1" action="myurl.com">
<fieldset>
<legend>LegendText</legend>
<label>Title</label>
<input type="text" name="Field1" class="jqueryValidate"/>
<!-- jqueryvalidate class added as required is equal to 1 in XML -->
<label>Radio</label>
<input type="radio" name="Field2" Value="1"/> Just One
<input type="radio" name="Field2" Value="2"/> Maybe Two
</fieldset>
</form>
现在,我知道我可以使用 XSLT 实现相同的功能,但是我必须在此处使用 C#,因为我将把它包装到一个可以放入我的任何页面的控件中。
我的问题是,我怎样才能实现这样的目标?我设想它需要某种类型的嵌套 switch 语句来检查节点名称和类型等,并构建 HTML。但是,我希望情况并非如此,你们这些研究人员可以帮助我指出正确的方向。
提前致谢:)
戴夫
【问题讨论】:
-
如果 XSLT 不是一个选项,我怀疑 LINQ to XML 或类似的会启用更简洁的解决方案。
-
您可以在 C# 中使用 XSLT msdn.microsoft.com/en-us/library/…