XBRL(eXtensible Business Reporting Language) definierar och utbyter finansiell information, till exempel en finansiell rapport. Ett XBRL-instansdokument är en samling fakta som tillsammans utgör en affärsrapport. Vi kan enkelt skapa ett XBRL-instansdokument programmatiskt och lägga till objekt eller element som schemareferens, kontext, enhet, objekt etc. I den här artikeln kommer vi att lära oss hur man skapar XBRL-instansdokument och lägger till objekt i C#.
Följande ämnen ska behandlas i den här artikeln:
- C# API för att skapa XBRL-instansdokument och lägga till objekt
- Skapa XBRL-instansdokument
- Lägg till schemareferens till XBRL
- Lägg till kontextobjekt i XBRL
- Skapa en enhet i XBRL
- Lägg till faktaobjekt i XBRL
C# API för att skapa XBRL-instansdokument och lägga till objekt
För att skapa ett XBRL-instansdokument och lägga till objekt kommer vi att använda Aspose.Finance for .NET API. Det gör det möjligt att skapa XBRL-instanser, analysera och validera XBRL- eller iXBRL-filerna.
Vänligen antingen ladda ned API:ets DLL eller installera den med NuGet.
PM> Install-Package Aspose.Finance
Skapa XBRL-instansdokument i C#
Vi kan enkelt skapa ett XBRL-instansdokument från början genom att följa stegen nedan:
- Skapa först en instans av klassen XbrlDocument.
- Öppna sedan instanssamlingen från XbrlDocument-objektet till objektet XbrlInstanceCollection.
- Lägg sedan till en ny XBRL-instans med metoden XbrlInstanceCollection.Add().
- Slutligen sparar du XBRL-filen med metoden XbrlDocument.Save(). Den tar utdatafilens sökväg som ett argument.
Följande kodexempel visar hur man skapar ett XBRL-instansdokument med C#.
// Detta kodexempel visar hur man skapar XBRL-instansdokument.
// Skapa en instans av XbrlDocument-klassen
XbrlDocument document = new XbrlDocument();
// Skaffa XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
// Lägg till XbrlInstance
xbrlInstances.Add();
// Spara utdatafilen
document.Save(@"D:\Files\Finance\output.xbrl");
Lägg till schemareferens till XBRL med C#
Vi kan lägga till schemareferens i ett XBRL-instansdokument genom att följa stegen nedan:
- Skapa först en instans av klassen XbrlDocument.
- Hämta sedan XbrlDocument-objektets instanssamling till XbrlInstanceCollection-objektet.
- Lägg sedan till en ny XBRL-instans med metoden XbrlInstanceCollection.Add().
- Hämta sedan XbrlInstance-objektets schemareferenssamling till objektet SchemaRefCollection.
- Lägg sedan till en ny schemareferens med metoden SchemaRefCollection.Add().
- Slutligen sparar du XBRL-filen med metoden XbrlDocument.Save(). Den tar utdatafilens sökväg som ett argument.
Följande kodexempel visar hur man lägger till schemareferens i ett XBRL-instansdokument med C#.
// Detta kodexempel visar hur man lägger till SchemaReference-objekt till XBRL.
// Skapa en instans av XbrlDocument-klassen
XbrlDocument document = new XbrlDocument();
// Skaffa XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
// Lägg till XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];
// Få Schema referenssamling
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
// Lägg till schemareferens
schemaRefs.Add(@"D:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
// Spara utdatafilen
document.Save(@"D:\Files\Finance\output.xbrl");
Lägg till kontextobjekt i XBRL med CSharp
Vi kan lägga till ett sammanhang till ett XBRL-instansdokument genom att följa stegen nedan:
- Skapa först en instans av klassen XbrlDocument.
- Hämta sedan XbrlDocument-objektets instanssamling till XbrlInstanceCollection-objektet.
- Lägg sedan till en ny XBRL-instans med metoden XbrlInstanceCollection.Add().
- Skapa sedan en instans av klassen ContextPeriod med start- och slutdatum.
- Skapa sedan en ContextEntity och ange schema och identifierare.
- Skapa sedan en instans av klassen Context med den definierade ContextPeriod och ContextEntity.
- Lägg sedan till Context-objektet i samlingen Context objects.
- Slutligen sparar du XBRL-filen med metoden XbrlDocument.Save(). Den tar utdatafilens sökväg som ett argument.
Följande kodexempel visar hur man lägger till ett kontextobjekt i ett XBRL-instansdokument med C#.
// Detta kodexempel visar hur man lägger till Context-objekt till XBRL.
// Skapa en instans av XbrlDocument-klassen
XbrlDocument document = new XbrlDocument();
// Skaffa XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
// Lägg till XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];
// Definiera kontextperiod
ContextPeriod contextPeriod = new ContextPeriod(DateTime.Parse("2020-01-01"), DateTime.Parse("2020-02-10"));
// Cretae kontextpost
ContextEntity contextEntity = new ContextEntity("exampleIdentifierScheme", "exampleIdentifier");
// Skapa sammanhang
Context context = new Context(contextPeriod, contextEntity);
// Lägg till sammanhang
xbrlInstance.Contexts.Add(context);
// Spara utdatafilen
document.Save(@"D:\Files\Finance\Output.xbrl");
Skapa enheter i XBRL med C#
Enheterna i XBRL mäter numeriska objekt. Vi kan lägga till en enhet i ett XBRL-instansdokument genom att följa stegen nedan:
- Skapa först en instans av klassen XbrlDocument.
- Hämta sedan XbrlDocument-objektets instanssamling till XbrlInstanceCollection-objektet.
- Lägg sedan till en ny XBRL-instans med metoden XbrlInstanceCollection.Add().
- Skapa sedan en instans av klassen Unit med UnitType som mått.
- Lägg sedan till QualifiedName till MeasureQualifiedNames-samlingen.
- Lägg sedan till enheten i samlingen Unit objects.
- Slutligen sparar du XBRL-filen med metoden XbrlDocument.Save(). Den tar utdatafilens sökväg som ett argument.
Följande kodexempel visar hur man lägger till ett enhetsobjekt i ett XBRL-instansdokument med C#.
// Detta kodexempel visar hur man lägger till Unit-objekt till XBRL.
// Skapa en instans av XbrlDocument-klassen
XbrlDocument document = new XbrlDocument();
// Skaffa XbrlInstances
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
// Lägg till XbrlInstance
xbrlInstances.Add();
XbrlInstance xbrlInstance = xbrlInstances[0];
// Definiera enhet
Unit unit = new Unit(UnitType.Measure);
// Lägg till kvalificeringsnamn
unit.MeasureQualifiedNames.Add(new QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"));
// Lägg till enhet
xbrlInstance.Units.Add(unit);
// Spara utdatafilen
document.Save(@"D:\Files\Finance\Output.xbrl");
Lägg till faktaobjekt i XBRL med C#
Fakta i XBRL definieras med hjälp av artikelelement. En post i XBRL innehåller värdet av det enkla faktumet och en referens till sammanhanget för att korrekt tolka det faktumet. Vi kan lägga till ett objekt i ett XBRL-instansdokument genom att följa stegen nedan:
- Skapa först en instans av klassen XbrlDocument.
- Lägg till en ny XBRL-instans till XbrlDocument-objektets instanser.
- Lägg till en ny schemareferens till XbrlInstance-objektets schemareferenser.
- Få SchemaRef genom dess index från SchemaRefCollection.
- Initiera Context-instansen och lägg till den i Context-objektsamlingen.
- Definiera en Unit-instans och lägg till den i Unit-objektsamlingen.
- Skapa en klassinstans Concept med metoden SchemaRef.GetConceptByName().
- Skapa en instans av klassen Item med Concept-objektet som argument.
- Ställ in objektegenskaper som ContextRef, UnitRef, Precision, Value, etc.
- Lägg sedan till objektet i samlingen Faktaobjekt.
- Spara slutligen XBRL-filen med metoden XbrlDocument.Save(). Den tar utdatafilens sökväg som ett argument.
Följande kodexempel visar hur man lägger till ett fakta som ett objektelement i ett XBRL-instansdokument med C#.
// Detta kodexempel visar hur man lägger till faktaobjekt till XBRL.
// Skapa XbrlDocument
XbrlDocument document = new XbrlDocument();
XbrlInstanceCollection xbrlInstances = document.XbrlInstances;
XbrlInstance xbrlInstance = xbrlInstances[xbrlInstances.Add()];
// Definiera schemareferens
SchemaRefCollection schemaRefs = xbrlInstance.SchemaRefs;
schemaRefs.Add(@"D:\Files\Finance\schema.xsd", "example", "http://example.com/xbrl/taxonomy");
SchemaRef schema = schemaRefs[0];
// Definiera sammanhang
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);
// Definiera enhet
Unit unit = new Unit(UnitType.Measure);
unit.MeasureQualifiedNames.Add(new QualifiedName("USD", "iso4217", "http://www.xbrl.org/2003/iso4217"));
xbrlInstance.Units.Add(unit);
// Få koncept
Concept fixedAssetsConcept = schema.GetConceptByName("fixedAssets");
if (fixedAssetsConcept != null)
{
// Definiera objektelement för fakta
Item item = new Item(fixedAssetsConcept);
item.ContextRef = context;
item.UnitRef = unit;
item.Precision = 4;
item.Value = "1444";
// Lägg till objektelement till fakta
xbrlInstance.Facts.Add(item);
}
// Spara utdatafilen
document.Save(@"D:\Files\Finance\Output.xbrl");
Skaffa en gratis licens
Du kan få en gratis tillfällig licens för att prova biblioteket utan utvärderingsbegränsningar.
Slutsats
I den här artikeln har vi lärt oss hur man skapar ett XBRL-dokument med C#. Vi har också sett hur man lägger till olika XBRL-objekt till det skapade XBRL-instansdokumentet programmatiskt. Dessutom kan du lära dig mer om Aspose.Finance för .NET API med hjälp av dokumentation. I händelse av oklarheter är du välkommen att kontakta oss på vårt gratis supportforum.