Overview

XML Tooling based on EMF (EXML) used to loading/saving XML with EMF. You can process XML content without pre-defined ecore models in EMF.

Simple EMF Model

Easy Loading

EXMLResourceFactoryImpl fac = new EXMLResourceFactoryImpl();
XMLResource resource = (XMLResource) fac.createResource(uri);
HashMap<String, Object> options = new HashMap<String, Object>();
options.put(XMLResource.OPTION_ENCODING, "UTF-8");
resource.load(inputStream, options);

Saving XML

EXMLResourceFactoryImpl fac = new EXMLResourceFactoryImpl();
Resource resource = fac.createResource(URI.createFileURI("Sample-save.xml"));
EXDocument doc = EXMLFactory.eINSTANCE.createDocument();
EXElement root = EXMLFactory.eINSTANCE.createElement();
root.setName("Company");
EXAttribute nameAttr = EXMLFactory.eINSTANCE.createAttribute();
nameAttr.setName("name");
nameAttr.setValue("Soyatec");
root.getAttributes().add(nameAttr); 

for (int i = 0; i < 5; i++) {
   	EXElement child = EXMLFactory.eINSTANCE.createElement();
   	child.setName("Employee");
   	child.getText().add("Robot" + i);
   	root.getElements().add(child);
} 

doc.setElement(root); resource.getContents().add(doc);
try {
   	resource.save(Collections.EMPTY_MAP);
} catch (IOException e) {
   	e.printStackTrace();
}
<?xml version="1.0" encoding="ASCII"?>
<Company name="Soyatec">
<Employee>Robot0</Employee>
<Employee>Robot1</Employee>
<Employee>Robot2</Employee>
<Employee>Robot3</Employee>
<Employee>Robot4</Employee>
</Company>

Update Site

<< Back