How to Open & Browse an XML File: Step-by-Step Tutorial
</> Open the XML Viewer and follow along with this tutorial.
Open Tool →Steps
This tutorial walks you through opening and exploring an XML file using the free FinancialDataTools.com XML Viewer. The tool uses the browser's native DOMParser API to parse your XML entirely inside your browser — nothing is sent to any server, and no install is required.
Try the XML Viewer — runs entirely in your browser and never uploads your files.
Open the XML Viewer →Step 1: Locate Your XML File
Find the XML file you want to inspect. XML is used across many financial data contexts:
- Bank statement exports in XML format (OFX-based or proprietary)
- Financial data feeds and RSS/Atom feeds from news and data providers
- Report exports from accounting or ERP software (SAP, Oracle, Dynamics)
- Geographic/property data in Shapefile
.dbfcompanion.shpfiles - Any
.xml,.rss,.atom,.xsl, or.xsdfile
The viewer works best with data-oriented XML — files containing a repeating element type that represents structured records. Examples: <transaction>, <trade>, <item>, <record>, <entry>.
Malformed XML (unclosed tags, invalid characters) cannot be opened — the browser's XML parser requires well-formed input.
Step 2: Open the XML Viewer
Navigate to financialdatatools.com/viewers/xml-viewer/ in any modern desktop browser. No login, account, or installation is required.
Step 3: Load Your File
There are two ways to open your file:
- Click the green "Open File" button in the toolbar and select your XML file.
- Drag and drop your file anywhere onto the viewer window.
The viewer parses your XML using the browser's native DOMParser. For most files this is nearly instant. If the file is malformed, an error message will appear in the viewer with the parser's error description.
Step 4: Understand Element Auto-Detection
XML files don't have a built-in concept of "rows" the way CSV or JSON do. The viewer automatically identifies which XML element type represents your data records by counting element occurrences throughout the file and selecting the most frequent one.
The detected element name appears in the Element field of the stats bar — for example, <trade> or <item>. Each instance of that element becomes one row in the table.
For a transaction export file like this:
<transactions>
<transaction id="T001" date="2025-01-15">
<symbol>AAPL</symbol>
<amount>15025.00</amount>
</transaction>
<transaction id="T002" date="2025-01-16">
<symbol>MSFT</symbol>
<amount>38050.00</amount>
</transaction>
</transactions>
The viewer detects <transaction> as the row element and creates two rows with four columns: @id, @date, symbol, and amount.
Step 5: Read the Column Names
Column names are derived from two sources:
- XML attributes — named with an
@prefix (e.g.,@id,@date,@type) - Child element text content — named after the child tag (e.g.,
symbol,amount,description)
The column set is the union of all attributes and child elements found across all row elements. If some rows have an attribute or child that others lack, that column still appears — those rows show — (null) for the missing value.
Column type badges indicate the inferred data type:
- ATTR (blue) — column comes from an XML attribute
- TEXT (green) — column comes from a child element's text content
- NUM (amber) — column is predominantly numeric values
Step 6: Sort, Filter, and Search
Sorting: Click any column header to sort rows. First click: ascending. Second: descending. Third: original document order. Numeric columns sort numerically; all others sort alphabetically.
Global search: Type in the search box in the toolbar to search across all columns simultaneously. Rows not matching the search in any column are hidden.
Column filters: Click the filter icon (funnel) in any column header for column-specific filtering:
- Values mode: A checklist of all distinct values in that column. Uncheck values to hide matching rows.
- Conditions mode: Apply conditions such as "contains", "equals", "greater than", or "is empty". Combine two conditions with AND or OR logic.
Multiple column filters stack with AND logic. The pink badge in the stats bar shows the active filter count; click it to clear all filters at once.
Step 7: Inspect Cell Values
Click any cell to open the Cell Detail Panel on the right side of the viewer. The panel shows:
- The row number
- The column name and its source (attribute, child element, or text content)
- The character length of the value
- The full cell value without truncation
The Copy value button copies the raw value to the clipboard — useful for long text values that are truncated in the grid cell.
Step 8: View File Info
Click the Info button in the toolbar to open the file info modal. It shows:
- The loaded file name
- Total element (row) count and column count
- The XML root element tag name
- A column overview table listing each column name, source, and inferred type
Use Copy Column List to copy the column overview as plain text — useful for documenting the XML structure before migrating it to a database or spreadsheet.
Step 9: Export Your Data
Click the Export button in the toolbar to open the export dialog. Four formats are available:
- CSV — flat comma-separated file; attribute column names retain their
@prefix; ideal for spreadsheets or data pipelines - JSON — array of objects; column names as keys; useful for developers or downstream processing
- Excel (.xlsx) — workbook with frozen header row, auto-sized columns, and attribution sheet
- TSV — tab-separated; useful when values may contain commas
Two export scopes let you control what gets exported:
- Filtered view — exports only the rows visible after applying your current search and column filters
- Full file — exports all detected row elements ignoring any active filters
Tip: Use the CSV or JSON export to convert XML data into a format that can be imported directly into a database, pandas, or Excel — without writing any XSLT or parsing code.
