使用 C# 將對象添加到 XBRL 文檔

XBRL(可擴展商業報告語言)定義和交換財務信息,例如財務報表。 XBRL 實例文檔是共同構成業務報告的事實集合。我們可以輕鬆地以編程方式創建 XBRL 實例文檔,並添加對像或元素,例如架構引用、上下文、單位、項目等。在本文中,我們將學習如何使用 C# 將對象添加到 XBRL 實例文檔。

本文應涵蓋以下主題:

用於將對象添加到 XBRL 實例文檔的 C# API

為了創建 XBRL 實例文檔和添加對象,我們將使用 Aspose.Finance for .NET API。它允許創建 XBRL 實例、解析和驗證 XBRL 或 iXBRL 文件。請 下載 API 的 DLL 或使用 NuGet 安裝它。

PM> Install-Package Aspose.Finance

使用 C# 將架構引用添加到 XBRL

我們可以按照以下步驟在 XBRL 實例文檔中添加模式引用:

  1. 首先,創建 XbrlDocument 類的一個實例。
  2. 接下來,將 XbrlDocument 對象的實例集合放入 XbrlInstanceCollection 對像中。
  3. 然後,使用 XbrlInstanceCollection.Add() 方法添加一個新的 XBRL 實例。
  4. 接下來,將 XbrlInstance 對象的架構引用集合獲取到 SchemaRefCollection 對像中。
  5. 之後,使用 SchemaRefCollection.Add() 方法添加一個新的模式引用。
  6. 最後,使用 XbrlDocument.Save() 方法保存 XBRL 文件。它以輸出文件路徑作為參數。

以下代碼示例展示瞭如何使用 C# 在 XBRL 實例文檔中添加架構引用。

// 此代碼示例演示如何將 SchemaReference 對象添加到 XBRL。
// 創建 XbrlDocument 類的實例
XbrlDocument document = new XbrlDocument();

// 獲取 XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// 添加 XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// 獲取架構引用集合
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;

// 添加架構參考
schemaRefs.Add(@"D:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");

// 保存輸出文件
document.Save(@"D:\Files\Finance\output.xbrl");

使用 CSharp 在 XBRL 中添加上下文對象

我們可以按照以下步驟將上下文添加到 XBRL 實例文檔:

  1. 首先,創建一個 XbrlDocument 類的實例。
  2. 接下來,將 XbrlDocument 對象的實例集合獲取到 XbrlInstanceCollection 對像中。
  3. 然後,使用 XbrlInstanceCollection.Add() 方法添加一個新的 XBRL 實例。
  4. 接下來,使用開始日期和結束日期創建 ContextPeriod 類的實例。
  5. 然後,創建一個 ContextEntity 並提供架構和標識符。
  6. 接下來,使用定義的 ContextPeriod 和 ContextEntity 創建 Context 類的實例。
  7. 之後,將 Context 對象添加到 Context objects 集合中。
  8. 最後,使用 XbrlDocument.Save() 方法保存 XBRL 文件。它以輸出文件路徑作為參數。

以下代碼示例顯示如何使用 C# 在 XBRL 實例文檔中添加上下文對象。

// 此代碼示例演示如何將 Context 對象添加到 XBRL。
// 創建 XbrlDocument 類的實例
XbrlDocument document = new XbrlDocument();

// 獲取 XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// 添加 XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// 定義上下文週期
ContextPeriod contextPeriod = new ContextPeriod(DateTime.Parse("2020-01-01"), DateTime.Parse("2020-02-10"));

// 白堊紀上下文條目
ContextEntity contextEntity = new ContextEntity("exampleIdentifierScheme", "exampleIdentifier");

// 創建上下文
Context context = new Context(contextPeriod, contextEntity);

// 添加上下文
xbrlInstance.Contexts.Add(context);

// 保存輸出文件
document.Save(@"D:\Files\Finance\Output.xbrl");

使用 C# 在 XBRL 中創建單位

XBRL 中的單位衡量數字項目。我們可以按照以下步驟在 XBRL 實例文檔中添加單位:

  1. 首先,創建 XbrlDocument 類的一個實例。
  2. 接下來,將 XbrlDocument 對象的實例集合獲取到 XbrlInstanceCollection 對像中。
  3. 然後,使用 XbrlInstanceCollection.Add() 方法添加一個新的 XBRL 實例。
  4. 接下來,使用 UnitType 作為 Measure 創建 Unit 類的實例。
  5. 然後,將 QualifiedName 添加到 MeasureQualifiedNames 集合。
  6. 之後,將 Unit 添加到 Unit objects 集合中。
  7. 最後,使用 XbrlDocument.Save() 方法保存 XBRL 文件。它以輸出文件路徑作為參數。

以下代碼示例顯示如何使用 C# 在 XBRL 實例文檔中添加單位對象。

// 此代碼示例演示如何將 Unit 對象添加到 XBRL。
// 創建 XbrlDocument 類的實例
XbrlDocument document = new XbrlDocument();

// 獲取 XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;

// 添加 XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];

// 定義單位
Unit unit = new Unit(UnitType.Measure);

// 添加限定符名稱
unit.MeasureQualifiedNames.Add(new QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"));

// 添加單位
xbrlInstance.Units.Add(unit);

// 保存輸出文件
document.Save(@"D:\Files\Finance\Output.xbrl");

使用 C# 在 XBRL 中添加事實對象

XBRL 中的事實是使用項目元素定義的。 XBRL 中的項目包含簡單事實的值和對上下文的引用以正確解釋該事實。我們可以按照以下步驟在 XBRL 實例文檔中添加項目:

  1. 首先,創建一個 XbrlDocument 類的實例。
  2. 將新的 XBRL 實例添加到 XbrlDocument 對象的實例。
  3. 將新的架構引用添加到 XbrlInstance 對象的架構引用。
  4. 通過 SchemaRefCollection 的索引獲取 SchemaRef。
  5. 初始化 Context 實例並將其添加到 Context objects 集合中。
  6. 定義一個 Unit 實例並將其添加到 Unit objects 集合中。
  7. 使用 SchemaRef.GetConceptByName() 方法創建一個 Concept 類實例。
  8. 使用 Concept 對像作為參數創建 Item 類的實例。
  9. 設置項目屬性,例如 ContextRef、UnitRef、Precision、Value 等。
  10. 之後,將 Item 添加到 Fact objects 集合中。
  11. 最後,使用 XbrlDocument.Save() 方法保存 XBRL 文件。它以輸出文件路徑作為參數。

以下代碼示例顯示瞭如何使用 C# 在 XBRL 實例文檔中添加事實作為項目元素。

// 此代碼示例演示如何將事實項對象添加到 XBRL。
// 創建 XbrlDocument
XbrlDocument document = new XbrlDocument();
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()];

// 定義架構參考
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"D:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];

// 定義上下文
ContextPeriod contextPeriod = new ContextPeriod(DateTime.Parse("2020-01-01"), DateTime.Parse("2020-02-10"));
ContextEntity contextEntity = new ContextEntity("exampleIdentifierScheme", "exampleIdentifier");
Context context = new Context(contextPeriod, contextEntity);
xbrlInstance.Contexts.Add(context);

// 定義單位
Unit unit = new Unit(UnitType.Measure);
unit.MeasureQualifiedNames.Add(new QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"));
xbrlInstance.Units.Add(unit);

// 獲取概念
Concept fixedAssetsConcept = schema.GetConceptByName("fixedAssets");
if (fixedAssetsConcept != null)
{
    // 為事實定義 Item 元素
    Item item = new Item(fixedAssetsConcept);
    item.ContextRef = context;
    item.UnitRef = unit;
    item.Precision = 4;
    item.Value = "1444";
    
    // 將項目元素添加到事實
    xbrlInstance.Facts.Add(item);
}

// 保存輸出文件
document.Save(@"D:\Files\Finance\Output.xbrl");

獲得免費許可證

您可以 獲得免費的臨時許可證 來試用該庫,而沒有評估限制。

結論

在本文中,我們學習瞭如何使用 C# 創建 XBRL 文檔。我們還了解瞭如何以編程方式將各種 XBRL 對象添加到創建的 XBRL 實例文檔中。此外,您可以使用 文檔 了解有關 Aspose.Finance for .NET API 的更多信息。如有任何歧義,請隨時在論壇上與我們聯繫。

也可以看看