https://github.com/joeychilson/xbrl
A simple XBRL parser in Go.
https://github.com/joeychilson/xbrl
go parser xbrl xml
Last synced: 20 days ago
JSON representation
A simple XBRL parser in Go.
- Host: GitHub
- URL: https://github.com/joeychilson/xbrl
- Owner: joeychilson
- License: mit
- Created: 2024-03-30T06:58:30.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-26T15:40:27.000Z (over 1 year ago)
- Last Synced: 2025-03-06T03:14:17.090Z (over 1 year ago)
- Topics: go, parser, xbrl, xml
- Language: Go
- Homepage:
- Size: 331 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# xbrl
A simple parser for XBRL files.
## Usage
```go
func main() {
file, err := os.Open("msft.xml")
if err != nil {
log.Fatal(err)
}
defer file.Close()
var xbrl xbrl.XBRL
if err := xml.NewDecoder(file).Decode(&xbrl); err != nil {
log.Fatal(err)
}
fmt.Println("Facts:", len(xbrl.Facts))
}
```
## Example fact from parsed XBRL
```json
{
"context": {
"entity": "0000789019",
"segments": [
{
"dimension": "DerivativeInstrumentRisk",
"member": "InterestRateContract"
},
{
"dimension": "DerivativeInstrumentsGainLossByHedgingRelationship",
"member": "FairValueHedging"
},
{
"dimension": "IncomeStatementLocation",
"member": "NonoperatingIncomeExpense"
}
],
"period": {
"startDate": "2023-10-01",
"endDate": "2023-12-31"
}
},
"concept": "ChangeInUnrealizedGainLossOnHedgedItemInFairValueHedge1",
"value": -34000000,
"decimals": "-6",
"unit": "USD"
},
```