aspose.finance

本文提供有关使用 XBRL 标准的业务报告、XBRL 的用途以及如何在 .NET 应用程序中自动创建基于 XBRL 的业务报告的过程的信息。此外,它还包含逐步解析 XBRL 和 iXBRL 文件并使用 C# 以编程方式检索数据的方法。最后但同样重要的是,它提供了一些使用 C# 验证 XBRL 和 iXBRL 文件的简单方法。

可扩展业务报告语言 (XBRL)

XBRL 是一种全球使用的基于 XML 的商业报告标准和文件格式。它使各种公司和会计组织更容易有效和准确地组织、编制和交流财务报表或其他与财务相关的信息/数据。由于 XBRL 基于 XML(可扩展标记语言),它使用标签来保存和解析每条财务数据。 iXBRL(内联 XBRL)是另一种变体,可以同时以人类可读和机器可读的形式保存财务数据。与 XBRL 相比,iXBRL 使用 HTML 标准以及一些用于图形和语句的额外标签。

XBRL 和 iXBRL 中的标签均使用 XBRL 兼容软件进行解析以检索数据。为了自动化 XBRL 解析,Aspose 提供了 Aspose.Finance for .NET API。它是一个 .NET 类库,可以更轻松地使用 C# 或 VB.NET 以编程方式创建 XBRL 实例。此外,它还允许您解析和验证 .NET 应用程序中的 XBRL 或 iXBRL 文件。 Aspose.Finance for .NET 提供了您将在本文中学习的以下 XBRL/iXBRL 操作功能。

您可以从 NuGet下载 其 DLL 安装 Aspose.Finance for .NET,以便在您的项目中手动引用它。

在 C# 中从头开始创建 XBRL 实例

Aspose.Finance for .NET 使得从头开始创建 XBRL 实例变得简单。您还可以在新创建的 XBRL 实例中添加架构引用、上下文、单位、项目、脚注链接、角色引用和弧形角色引用。以下是创建 XBRL 实例的步骤:

以下代码示例展示了如何在 C# 中创建 XBRL 实例。

XbrlDocument document = new XbrlDocument();
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()];
document.Save(XbrlFilePath + @"output\document1.xbrl");

创建 XBRL 实例后,您可以向其中插入对象,这些将在以下文章中讨论:

在 C# 中解析 XBRL 或 iXBRL 文件

Aspose.Finance for .NET 提供了一种解析 XBRL 文件并在几行代码中检索其内容的简单方法。以下部分包含如何解析 XBRL 和 iXBRL 文件的步骤和代码示例。

在 C# 中解析 XBRL 文件

以下是使用 Aspose.Finance for .NET 解析 XBRL 文件的步骤。

以下代码示例演示了如何在 C# 中解析 XBRL 文件。

XbrlDocument document = new XbrlDocument(XbrlFilePath + @"IdScopeContextPeriodStartAfterEnd.xml");
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[0];
List<Fact> facts = xbrlInstance.Facts;
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
List<Context> contexts = xbrlInstance.Contexts;
List<Unit> units = xbrlInstance.Units;

在 C# 中解析 iXBRL 文件

解析 iXBRL 文件相对容易,可以使用以下步骤完成。

以下代码示例展示了如何在 C# 中解析和读取 iXBRL 文件。

InlineXbrlDocument document = new InlineXbrlDocument(XbrlFilePath + @"account_1.html");
List<InlineFact> inlineFacts = document.Facts;
List<Context> contexts = document.Contexts;
List<Unit> units = document.Units;

在 C# 中验证 XBRL 或 iXBRL 文件

XBRL 和 iXBRL 文件必须分别符合 XBRL 规范iXBRL 规范 中的验证规则。不遵守规范规则可能会使文件无效。 Aspose.Finance for .NET 还允许您验证 XBRL 或 iXBRL 文件以找出错误。以下部分演示如何验证 XBRL 和 iXBRL 文件。

在 C# 中验证 XBRL 文件

以下是验证 XBRL 文件的步骤:

以下代码示例展示了如何在 C# 中验证 XBRL 文件。

XbrlDocument document = new XbrlDocument(XbrlFilePath + @"IdScopeContextPeriodStartAfterEnd.xml");
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[0];
xbrlInstance.Validate();
if(xbrlInstance.ValidationErrors.Count > 0)
{
    List<ValidationError> validationErrors = xbrlInstance.ValidationErrors;
}

在 C# 中验证 iXBRL 文件

以下步骤用于验证内联 XBRL 文件。

以下代码示例展示了如何在 C# 中验证 iXBRL 文件。

InlineXbrlDocument document = new InlineXbrlDocument(XbrlFilePath + @"account_1.html");
document.Validate();
if (document.ValidationErrors.Count > 0)
{
    List<ValidationError> validationErrors = document.ValidationErrors;
}

此处 了解有关验证错误代码和错误消息的更多信息。

探索 API

您可以从以下资源中了解有关如何创建、解析和验证 XBRL 和 iXBRL 文件的更多信息:

免费试用 Aspose.Finance for .NET

Aspose 提供临时许可证来免费评估其 API。您也可以发布您的请求并获得临时许可证

也可以看看