如何使用 C# 通过 XSL 将 XML 加载到数据集中
我正在尝试加载一个包含元数据的 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 可以识别?
谢谢。
I'm trying to load a xml which contains metadata, for example:
<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>
Well, how it's possible to see, it's look like a dataset structure, but I'm not getting this do work. I think the way is try xls, but, how can I make a xls which turn this xml code in a xml recognizable by a DataSet.
In other words, how can I make this XSL and load it together with XML to be recognizable by the DataSet?
Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可能想了解一下
DataSet
从 XML 推断表结构。在我看来,您只需要:DataTable
元素重命名为表的实际名称,然后Row 新表元素的子元素。
例如,类似这样的事情应该可以工作:
使用 XSL 转换来达到此状态是 XSL 的基本用法,并且使用 网络上的 XSL 介绍。我建议您尝试一下,当您遇到特定的 XSL 问题时,请在此处发布一个新问题。
You'll probably want to have a look at how
DataSet
infers table structure from XML. Looks to me like you'll just need to:DataTable
element to the actual name of the table, andRow
a child element of the new table element.For example, something like this ought to work:
Using an XSL transform to reach this state is a pretty basic use of XSL and shouldn't be too hard with the intros to XSL around the web. I suggest you give it a try and post a new question here on SO when you run into specific XSL problems.