Skapa XBRL-fil i C#

Skapa XBRL-instans i C#

Aspose.Finance stöder att skapa XBRL dokument. För detta tillhandahåller API klassen XbrlDocument. Standardkonstruktören förXbrlDocument klass kan användas för att skapa ett nytt XBRL-instansdokument.

Följande kodavsnitt visar att du skapar ett nytt XBRL-instansdokument.

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

Lägg till schemareferens

Aspose.Finance låter dig lägga till schemareferens i den nyskapade XBRL-instansen. För detta tillhandahåller APISchemaRefCollection klass.

Följande kodavsnitt visar hur man lägger till schemareferens till en nyskapad XBRL-instans.

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");

Lägg till sammanhang

Aspose.Finance låter dig lägga till sammanhang i den nyskapade XBRL-instansen. För detta tillhandahåller APISammanhangklass.

Följande kodavsnitt visar hur man lägger till sammanhang i en nyskapad XBRL-instans.

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");

Lägg till enhet

Aspose.Finance låter dig lägga till sammanhang i den nyskapade XBRL-instansen. För detta tillhandahåller APIEnhet klass.

Följande kodavsnitt visar hur man lägger till en enhet i en nyskapad XBRL-instans.

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");

Lägg till vara

Aspose.Finance låter dig lägga till objekt i den nyskapade XBRL-instansen. För detta tillhandahåller APIArtikel klass.

Följande kodavsnitt visar hur man lägger till ett objekt i en nyskapad XBRL-instans.

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");

Lägg till fotnotslänk

Aspose.Finance låter dig lägga till en fotnotslänk i den nyskapade XBRL-instansen. För detta tillhandahåller APIFotnotlänkklass.

Följande kodavsnitt visar hur man lägger till en fotnotslänk i en nyskapad XBRL-instans.

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");

Lägg till rollreferens

Aspose.Finance låter dig lägga till en rollreferens i den nyskapade XBRL-instansen. För detta tillhandahåller APIRollreferensklass.

Följande kodavsnitt visar hur man lägger till en rollreferens i en nyskapad XBRL-instans.

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");

Lägg till bågrollreferens

Aspose.Finance låter dig lägga till en bågrollreferens i den nyskapade XBRL-instansen. För detta tillhandahåller APIArcroleReferenceklass.

Följande kodavsnitt visar hur man lägger till en bågrollreferens i en nyskapad XBRL-instans.

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");