Создайте файл XBRL в C#
Создайте экземпляр XBRL в C#
Aspose.Finance поддерживает создание XBRL документов. Для этого API предоставляет класс XbrlDocument. Конструктор по умолчанию дляXbrlДокумент можно использовать для создания нового экземпляра документа XBRL.
Следующий фрагмент кода демонстрирует создание нового экземпляра документа XBRL.
XbrlDocument document = new XbrlDocument(); | |
XbrlInstanceCollection xbrlInstances = document.XbrlInstances; | |
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()]; | |
document.Save(XbrlFilePath + @"output\document1.xbrl"); |
Добавить ссылку на схему
Aspose.Finance позволяет добавить ссылку на схему во вновь созданный экземпляр XBRL. Для этого API предоставляетSchemaRefCollection учебный класс.
В следующем фрагменте кода показано добавление ссылки на схему во вновь созданный экземпляр XBRL.
XbrlDocument document = new XbrlDocument(); | |
XbrlInstanceCollection xbrlInstances = document.XbrlInstances; | |
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()]; | |
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs; | |
schemaRefs.Add(XbrlFilePath + @"schema.xsd", "example", "http://example.com/xbrl/taxonomy"); | |
document.Save(XbrlFilePath + @"output\document2.xbrl"); |
Добавить контекст
Aspose.Finance позволяет добавить контекст во вновь созданный экземпляр XBRL. Для этого API предоставляетКонтекстучебный класс.
Следующий фрагмент кода демонстрирует добавление контекста во вновь созданный экземпляр XBRL.
XbrlDocument document = new XbrlDocument(); | |
XbrlInstanceCollection xbrlInstances = document.XbrlInstances; | |
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()]; | |
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(XbrlFilePath + @"output\document3.xbrl"); |
Добавить единицу
Aspose.Finance позволяет добавить контекст во вновь созданный экземпляр XBRL. Для этого API предоставляетЕд. изм учебный класс.
В следующем фрагменте кода показано, как добавить единицу во вновь созданный экземпляр XBRL.
XbrlDocument document = new XbrlDocument(); | |
XbrlInstanceCollection xbrlInstances = document.XbrlInstances; | |
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()]; | |
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(XbrlFilePath + @"output\document4.xbrl"); |
Добавить элемент
Aspose.Finance позволяет добавлять элементы во вновь созданный экземпляр XBRL. Для этого API предоставляетВещь учебный класс.
В следующем фрагменте кода показано, как добавить элемент во вновь созданный экземпляр XBRL.
XbrlDocument document = new XbrlDocument(); | |
XbrlInstanceCollection xbrlInstances = document.XbrlInstances; | |
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()]; | |
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs; | |
schemaRefs.Add(XbrlFilePath + @"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 = new Item(fixedAssetsConcept); | |
item.ContextRef = context; | |
item.UnitRef = unit; | |
item.Precision = 4; | |
item.Value = "1444"; | |
xbrlInstance.Facts.Add(item); | |
} | |
document.Save(XbrlFilePath + @"output\document5.xbrl"); |
Добавить ссылку на сноску
Aspose.Finance позволяет добавить ссылку на сноску во вновь созданный экземпляр XBRL. Для этого API предоставляетСноскаСсылкаучебный класс.
В следующем фрагменте кода показано, как добавить ссылку на сноску во вновь созданный экземпляр XBRL.
XbrlDocument document = new XbrlDocument(); | |
XbrlInstanceCollection xbrlInstances = document.XbrlInstances; | |
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()]; | |
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs; | |
schemaRefs.Add(XbrlFilePath + @"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); | |
context.Id = "cd1"; | |
xbrlInstance.Contexts.Add(context); | |
FootnoteLink footnoteLink = new FootnoteLink(); | |
Footnote footnote = new Footnote("footnote1"); | |
footnote.Text = "Including the effects of the merger."; | |
Loc loc = new Loc("#cd1", "fact1"); | |
FootnoteArc footnoteArc = new FootnoteArc(loc.Label, footnote.Label); | |
footnoteLink.Footnotes.Add(footnote); | |
footnoteLink.Locators.Add(loc); | |
footnoteLink.FootnoteArcs.Add(footnoteArc); | |
xbrlInstance.FootnoteLinks.Add(footnoteLink); | |
document.Save(XbrlFilePath + @"output\document6.xbrl"); |
Добавить ссылку на роль
Aspose.Finance позволяет добавить ссылку на роль во вновь созданный экземпляр XBRL. Для этого API предоставляетРольСсылкаучебный класс.
В следующем фрагменте кода показано, как добавить ссылку на роль во вновь созданный экземпляр XBRL.
XbrlDocument document = new XbrlDocument(); | |
XbrlInstanceCollection xbrlInstances = document.XbrlInstances; | |
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()]; | |
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs; | |
schemaRefs.Add(XbrlFilePath + @"schema.xsd", "example", "http://example.com/xbrl/taxonomy"); | |
SchemaRef schema = schemaRefs[0]; | |
RoleType roleType = schema.GetRoleTypeByURI("http://abc.com/role/link1"); | |
if (roleType != null) | |
{ | |
RoleReference roleReference = new RoleReference(roleType); | |
xbrlInstance.RoleReferences.Add(roleReference); | |
} | |
document.Save(XbrlFilePath + @"output\document7.xbrl"); |
Добавить ссылку на роль дуги
Aspose.Finance позволяет добавить ссылку на роль дуги во вновь созданный экземпляр XBRL. Для этого API предоставляетArcroleСсылкаучебный класс.
В следующем фрагменте кода показано, как добавить ссылку на роль дуги во вновь созданный экземпляр XBRL.
XbrlDocument document = new XbrlDocument(); | |
XbrlInstanceCollection xbrlInstances = document.XbrlInstances; | |
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()]; | |
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs; | |
schemaRefs.Add(XbrlFilePath + @"schema.xsd", "example", "http://example.com/xbrl/taxonomy"); | |
SchemaRef schema = schemaRefs[0]; | |
ArcroleType arcroleType = schema.GetArcroleTypeByURI("http://abc.com/arcrole/footnote-test"); | |
if (arcroleType != null) | |
{ | |
ArcroleReference arcroleReference = new ArcroleReference(arcroleType); | |
xbrlInstance.ArcroleReferences.Add(arcroleReference); | |
} | |
document.Save(XbrlFilePath + @"output\document8.xbrl"); |