如何通过使用C#

问题描述:

我试图加载包含元数据的XML XSL一个XML加载到DataSet中,例如:如何通过使用C#

<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代码可以通过一个DataSet来识别xml。 换句话说,我该如何制作这个XSL并将它与XML一起加载到DataSet中才能识别?

谢谢。

+0

当你说xls你的意思是XSL? – LarsH

您可能会想看看如何从XML中获取DataSetinfers table structure。在我看来就像你只需要:

  • 删除列的定义(这些都是什么推断),
  • DataTable元素命名表中的实际名称,并
  • 使新表格元素的子元素。

例如,这样的事情应该工作:

<DataSet> 
<Estrutura> 
    <Row ORDEM="4" NOME="DUnit Pré-Libor6M" NIVEL="3" .../> 
    <Row ORDEM="3" NOME="DUnit CDI-Libor6M" NIVEL="3" .../> 
    ... 

使用XSL转换来达到这种状态是一个非常基本的使用XSL的,不应该与各地的intros to XSL太硬网页。我建议你尝试一下,当你遇到特定的XSL问题时,在这里发布一个新的问题。

+0

那么,我会肯定尝试,并在那里(或如果)我得到它后张贴。非常感谢你! –

+0

另外 - 虽然我确信这是显而易见的 - 但您应该首先像我的示例一样手动编辑您的XML,以确保DataSet能够在您开始之前推断出结构并花费大量时间为其编写XSLT。 – ladenedge