¿Cómo exportar una clase a xml sin namespace?
¡Hola a todos!
Estoy intentando exportar una clase a xml y quitar la etiqueta "xmlns" de la clase madre. Estas son mis clases para crear el XML.
Class Class.Test Extends (%RegisteredObject, %XML.Adaptor) { Parameter NAMESPACE = "http://mynamespace.com/test"; Property Person As Class.Person; Property Address As Class.Address; }
Class Class.Person Extends (%RegisteredObject, %XML.Adaptor) { Parameter NAMESPACE = "http://mynamespace.com/test"; Property name As %String; Property age As %String; }
Class Class.Address Extends (%RegisteredObject, %XML.Adaptor) { Parameter NAMESPACE = "http://mynamespace.com/test"; Property location As %String; }
Esta es mi función para exportar el XML.
set writer=##class(%XML.Writer).%New() set writer.Indent=1 set writer.Charset="ISO-8859-1" set status=writer.OutputToString() set status=writer.RootObject(objectTest) set xml=writer.GetXMLString()
Este es el xml que se generó:
<?xml version="1.0" encoding="ISO-8859-1"?> <Test xmlns="http://mynamespace.com/test"> <Person> <name>John</name> <age>22</age> </Person> <Address> <location>New York NY 10036</location> </Address> </Test>
Cuando elimino el parámetro NAMESPACE desde la Clase.Test pasa esto con mi xml.
<?xml version="1.0" encoding="ISO-8859-1"?> <Test> <Person xmlns:s01="http://mynamespace.com/test"> <s01:name>1</s01:name> </Person> <ResultadoCultura xmlns:s01="http://mynamespace.com/test"> <s01:location>New York NY 10036</s01:location> </ResultadoCultura> </Test>
¿Alguien me podría ayudar? Quiero crear este XML:
<?xml version="1.0" encoding="ISO-8859-1"?> <Test> <Person> <name>John</name> <age>22</age> </Person> <Address> <location>New York NY 10036</location> </Address> </Test>
Un saludo.