Converts an XML document into a React tree
npm install @condenast/xml-to-reactConverts an XML document into a React tree.



_Proudly built by:_
This library may only be used in projects using React version 0.13.x or greater.
``sh`
npm install --save xml-to-react
This assumes you are using npm as your package manager.
`js
import XMLToReact from 'xml-to-react';
const xmlToReact = new XMLToReact({/ converters /});
const reactTree = xmlToReact.convert(/ XML string /);
`
Convert XML nodes into DOM elements with any provided attributes
`js
import ReactDOM from 'react-dom';
import XMLToReact from 'xml-to-react';
import MyListItem from './MyListItem';
const xmlToReact = new XMLToReact({
Example: (attrs) => ({ type: 'ul', props: attrs }),
Item: (attrs) => ({ type: MyListItem, props: attrs })
});
const reactTree = xmlToReact.convert(
);
ReactDOM.render('app-container', reactTree);
`
`jsx`
export default function MyListItem({ children, i }) {
return
}
This example would render the following:
`html`
Converters are required mapping functions that define how an XML node should be converted to React. A converter must return an object in the format { type, [props] }, which is intended to be passed to React.createElement.
- type - required tagName, React component, or React fragmentprops
- - (optional) props object
#### Example
`js`
function myConverter(attributes) {
return {
type: 'div',
props: {
className: 'test'
}
}
}
The XMLToReact class is instantiated with a map of converters.
`js`
{
nodeName: converterFunction
}
- xml {string} - xml node or documentdata
- {Object}` - (optional) any data to be passed to all converters
* jsonmltoreact demonstrated this technique using JsonML, and serves as motivation for this project.
* xmldom for providing a solid XML parser.
* Rollup for simple and quick module bundling.
* React for the innovation.
See the list of contributors who participated in writing this library.