2011-09-30 102 views
0

我試圖加載包含元數據的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

回答

2

您可能會想看看如何從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