FetchXML Tester
Paste or select FetchXML, check basic XML structure, and generate 10 deterministic sample rows from detected attribute names. Grid and JSON views help review the expected column shape; the tool does not connect to Dataverse or return live records.
How to Use the FetchXML Tester
Catch basic structural problems and preview a sample column shape—without executing a Dataverse query.
- Paste FetchXML into the editor or select an XML file from your device.
- Select Validate to check well-formedness, the fetch root, the entity name, and attribute presence warnings.
- Select Execute to create 10 local sample rows when validation passes.
- Review Grid for columns and sample values, JSON for the generated rows, or XML for the original query.
- Copy the current text view or download the simulated rows as JSON or CSV.
What “testing” means here
This tester is an offline structure and shape aid. It helps you spot missing fetch/entity markup and visualize likely column names before you run the real query in Dataverse, Advanced Find, XrmToolBox, or your API client.
Interpreting sample rows
Detected attribute names become columns. Row count is fixed at 10 for simulation. Cell values follow name-based patterns and are deterministic for a given column set—they are never live customer data.
Parsing limits
- Works best with straightforward entity/attribute FetchXML.
- Nested links, aggregates, and unusual attribute layouts may result in incomplete parsing.
- A Valid message does not confirm schema names, security, service limits, or server acceptance.
Common mistakes
- Treating grid values, row counts, or timing as production evidence.
- Assuming Excel export exists—use CSV if you need a spreadsheet import.
- Sharing pasted queries that still contain sensitive filter literals.
Privacy note
All validation and simulation stay in the browser. No Dataverse call is made. Remove confidential literals before copying XML or sample files into shared channels.
FAQ
Does Execute run my query against Dataverse?
No. Execute validates locally and builds 10 deterministic sample rows from detected attribute names. It never contacts Dataverse, so the grid is not a query result.
What does Validate prove?
It checks basic XML well-formedness, a fetch root, and an entity name, and warns when attributes appear absent. It does not validate metadata, privileges, operator semantics, joins, or runtime behavior.
How are sample cell values chosen?
Column names drive heuristics: names ending in id get GUID-like strings; date-like columns get ISO dates; email-like columns get example.com addresses; amount-like columns get numeric samples; other columns get labeled sample text. Values are synthetic.
What can I export?
Simulated rows can be copied or downloaded as JSON or CSV. The XML view shows your source query. There is no Excel (.xlsx) export and no live record export.
Why might columns be missing after Execute?
The best-effort parser may miss nested link-entity attributes or advanced FetchXML shapes. If attributes are not detected, the simulation has fewer columns—even when the XML itself is meaningful.
Can I trust the reported execution time?
No. Timing reflects local simulation work in the browser only. It is not Dataverse latency, query plan cost, or production performance.
Is my FetchXML uploaded anywhere?
No. Pasted text and selected XML files are processed in the browser. Still redact secrets from filter values before sharing copied XML or sample exports.