I am trying to extract some information using XPath from an XBRL file (eXtensible Business Reporting Language), which is basically just an XML file.
The file has multiple namespace declarations and these declarations change from file to file, sometimes.
Can you please help to write the XPath to extract the data in the node "dei:EntityRegistrantName", using C#?
I have tried multiple articles on the internet but can't figure this out.
Using this XML Library, I use a simple element get. The library figures out the namespace for me:
XElement root = XElement.Load(file); // or .Parse(string)
var a = root.XPathElement("//dei:EntityRegistrantName");
Console.WriteLine(a.ToString());
The output is (formatted for readability):
<dei:EntityRegistrantName
contextRef="eol_PE8528----1510-K0009_STD_365_20150630_0"
id="id_6568047_FBD9ABEE-63B9-43BD-B87B-EFE7CC59EFB0_1_400001"
xmlns:dei="http://xbrl.sec.gov/dei/2014-01-31">
MICROSOFT CORPORATION
</dei:EntityRegistrantName>