簡體   English   中英

如何使用C#通過XSL將XML加載到DataSet中

[英]How to load a XML into a DataSet via XSL with C#

我正在嘗試加載包含元數據的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代碼轉換為可由DataSet識別的xml。 換句話說,我如何制作這個XSL並將其與XML一起加載以便DataSet可識別?

謝謝。

您可能希望了解DataSet如何從XML 推斷表結構 在我看來,你只需要:

  • 刪除列定義(那些是推斷的),
  • 將您的DataTable元素重命名為表的實際名稱,以及
  • 使Row成為新表元素的子元素。

例如,像這樣的東西應該工作:

<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問題時,在這里發布一個新的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM