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