如何使用c#通过XSL将XML加载到数据集中
本文关键字:加载 数据 数据集 集中 XML 何使用 通过 XSL | 更新日期: 2023-09-27 18:10:13
我正在尝试加载包含元数据的xml,例如:
<DataSet>
<DataTable id="Estrutura">
<Columns>
<Column FieldName="ORDEM" DisplayLabel="ORDEM" DataType="Integer" Required="0" Size="0"/>
<Column FieldName="NOME" DisplayLabel="NOME" DataType="String" Required="0" Size="100"/>
<Column FieldName="NIVEL" DisplayLabel="NIVEL" DataType="Integer" Required="0" Size="0"/>
<Column FieldName="INDICE_IMAGEM" DisplayLabel="INDICE_IMAGEM" DataType="Integer" Required="0" Size="0"/>
<Column FieldName="TIPO" DisplayLabel="TIPO" DataType="String" Required="0" Size="100"/>
</Columns>
<Rows>
<Row ORDEM="4" NOME="DUnit Pré-Libor6M" NIVEL="3" INDICE_IMAGEM="12" TIPO="Carteira"/>
<Row ORDEM="3" NOME="DUnit CDI-Libor6M" NIVEL="3" INDICE_IMAGEM="12" TIPO="Carteira"/>
<Row ORDEM="2" NOME="DUnit RF_Swaps" NIVEL="2" INDICE_IMAGEM="10" TIPO="Pasta"/>
<Row ORDEM="1" NOME="DUnit RF_Swaps" NIVEL="1" INDICE_IMAGEM="2" TIPO="Tesouraria"/>
<Row ORDEM="0" NOME="DUnit" NIVEL="0" INDICE_IMAGEM="0" TIPO="Instituição"/>
</Rows>
</DataTable>
<DataTable id="Parametro;RME">
<Columns>
<Column FieldName="Definição" DisplayLabel="Definição" DataType="String" Required="0" Size="50"/>
<Column FieldName="Valor" DisplayLabel="Valor" DataType="String" Required="0" Size="150"/>
</Columns>
<Rows>
<Row Definição="Padrão da Cota" Valor="Fechamento"/>
<Row Definição="Data Inicial" Valor="11/1/2011"/>
<Row Definição="Data Final" Valor="12/1/2011"/>
<Row Definição="Formas Apuração" Valor="Customizado"/>
<Row Definição="Tipo Preço Stock" Valor="Fechamento"/>
<Row Definição="Data Atual/Hora" Valor="18/8/2011 17:42:00"/>
<Row Definição="Usuário" Valor="DUNIT"/>
<Row Definição="Definições de Cálculo" Valor="Usuário"/>
<Row Definição="Moeda Visual" Valor="REAL"/>
<Row Definição="Tipo Financeiro" Valor="Líquida"/>
<Row Definição="Tipo Rentabilidade" Valor="Líquida"/>
<Row Definição="Método Rentabilidade" Valor="TIR"/>
<Row Definição="Quantidade de Barras no Gráfico" Valor="10"/>
<Row Definição="Usa Todas as Barras no Gráfico" Valor="Não"/>
</Rows>
</DataTable>
</DataSet>
嗯,怎么可能看到,它看起来像一个数据集结构,但我没有得到这个工作。我认为的方式是尝试xls,但是,我怎么能做一个xls,把这个xml代码在xml可识别的数据集。换句话说,我如何制作这个XSL并将其与XML一起加载以使数据集能够识别?
谢谢。
您可能想看看DataSet
如何从XML推断表结构。在我看来,你只需要:
- 删除列定义(这些是推断的),
- 将
DataTable
元素重命名为表的实际名称,然后 - 使
Row
成为新table元素的子元素。
例如,应该这样做:
<DataSet>
<Estrutura>
<Row ORDEM="4" NOME="DUnit Pré-Libor6M" NIVEL="3" .../>
<Row ORDEM="3" NOME="DUnit CDI-Libor6M" NIVEL="3" .../>
...
使用XSL转换来达到此状态是XSL的一种非常基本的用法,对于web上的XSL介绍应该不会太难。我建议您尝试一下,当您遇到特定的XSL问题时,可以在SO上发布一个新问题。