Lägg till objekt till XBRL-dokument med C#

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:

  1. C# API för att skapa XBRL-instansdokument och lägga till objekt
  2. Skapa XBRL-instansdokument
  3. Lägg till schemareferens till XBRL
  4. Lägg till kontextobjekt i XBRL
  5. Skapa en enhet i XBRL
  6. 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:

  1. Skapa först en instans av klassen XbrlDocument.
  2. Öppna sedan instanssamlingen från XbrlDocument-objektet till objektet XbrlInstanceCollection.
  3. Lägg sedan till en ny XBRL-instans med metoden XbrlInstanceCollection.Add().
  4. 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:

  1. Skapa först en instans av klassen XbrlDocument.
  2. Hämta sedan XbrlDocument-objektets instanssamling till XbrlInstanceCollection-objektet.
  3. Lägg sedan till en ny XBRL-instans med metoden XbrlInstanceCollection.Add().
  4. Hämta sedan XbrlInstance-objektets schemareferenssamling till objektet SchemaRefCollection.
  5. Lägg sedan till en ny schemareferens med metoden SchemaRefCollection.Add().
  6. 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:

  1. Skapa först en instans av klassen XbrlDocument.
  2. Hämta sedan XbrlDocument-objektets instanssamling till XbrlInstanceCollection-objektet.
  3. Lägg sedan till en ny XBRL-instans med metoden XbrlInstanceCollection.Add().
  4. Skapa sedan en instans av klassen ContextPeriod med start- och slutdatum.
  5. Skapa sedan en ContextEntity och ange schema och identifierare.
  6. Skapa sedan en instans av klassen Context med den definierade ContextPeriod och ContextEntity.
  7. Lägg sedan till Context-objektet i samlingen Context objects.
  8. 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:

  1. Skapa först en instans av klassen XbrlDocument.
  2. Hämta sedan XbrlDocument-objektets instanssamling till XbrlInstanceCollection-objektet.
  3. Lägg sedan till en ny XBRL-instans med metoden XbrlInstanceCollection.Add().
  4. Skapa sedan en instans av klassen Unit med UnitType som mått.
  5. Lägg sedan till QualifiedName till MeasureQualifiedNames-samlingen.
  6. Lägg sedan till enheten i samlingen Unit objects.
  7. 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:

  1. Skapa först en instans av klassen XbrlDocument.
  2. Lägg till en ny XBRL-instans till XbrlDocument-objektets instanser.
  3. Lägg till en ny schemareferens till XbrlInstance-objektets schemareferenser.
  4. Få SchemaRef genom dess index från SchemaRefCollection.
  5. Initiera Context-instansen och lägg till den i Context-objektsamlingen.
  6. Definiera en Unit-instans och lägg till den i Unit-objektsamlingen.
  7. Skapa en klassinstans Concept med metoden SchemaRef.GetConceptByName().
  8. Skapa en instans av klassen Item med Concept-objektet som argument.
  9. Ställ in objektegenskaper som ContextRef, UnitRef, Precision, Value, etc.
  10. Lägg sedan till objektet i samlingen Faktaobjekt.
  11. 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.

Se även