Foros del Web » Programando para Internet » PHP »

crear un id en un xml

Estas en el tema de crear un id en un xml en el foro de PHP en Foros del Web. Necesito crear un archivo xml donde una etiqueta debe tener un id validado como dtd valido para luego poder usarlo en el documento. Estado buscando ...
  #1 (permalink)  
Antiguo 05/01/2018, 07:58
 
Fecha de Ingreso: agosto-2011
Mensajes: 285
Antigüedad: 6 años, 4 meses
Puntos: 5
crear un id en un xml

Necesito crear un archivo xml donde una etiqueta debe tener un id validado como dtd valido para luego poder usarlo en el documento.
Estado buscando informacion y no encuentro como generarlo directamente con la clase DOMDocument de php.
alguien me puedo poner un ejemplo para crear un xml con un id.
gracias de antemano.
  #2 (permalink)  
Antiguo 05/01/2018, 08:23
Avatar de alvaro_trewhela  
Fecha de Ingreso: octubre-2012
Ubicación: localhost
Mensajes: 839
Antigüedad: 5 años, 2 meses
Puntos: 99
Respuesta: crear un id en un xml

Checka

https://www.w3schools.com/xml/xml_dtd_attributes.asp
  #3 (permalink)  
Antiguo 05/01/2018, 09:21
 
Fecha de Ingreso: agosto-2011
Mensajes: 285
Antigüedad: 6 años, 4 meses
Puntos: 5
Respuesta: crear un id en un xml

Cita:
Iniciado por alvaro_trewhela Ver Mensaje
Hola, gracias por ayudar, el problema es que no se como crearlo con php utilizando la clase DOMDocument, es decir al crear el documento y sus ns asociados quiero crear tambien un id para una etiqueta pero no se como hacerlo desde php.
  #4 (permalink)  
Antiguo 05/01/2018, 09:51
Avatar de alvaro_trewhela  
Fecha de Ingreso: octubre-2012
Ubicación: localhost
Mensajes: 839
Antigüedad: 5 años, 2 meses
Puntos: 99
Respuesta: crear un id en un xml

El id es un valor único que tendra cierto elemento, pero ese valor lo das tu.

<!ATTLIST foo atributo-id ID #REQUIRED>


y a algún foo

<foo atributo-id="algun-id-x">Algo</foo>

Entonces el id de ese foo es atributo-id y su valor algun-id-x
  #5 (permalink)  
Antiguo 05/01/2018, 10:16
 
Fecha de Ingreso: agosto-2011
Mensajes: 285
Antigüedad: 6 años, 4 meses
Puntos: 5
Respuesta: crear un id en un xml

no me estas entendiendo, yo quiero crear un documento xml algo como esto:

<root>
<dato id='22'>
<name>pablo lopez</name>
<detalle>persona</detalle>
</dato>
</root>

esto lo creo con algo como esto mas o menos:

Código PHP:
Ver original
  1. $dom=new DOMDocument();
  2. $root=$dom->createElement('root');
  3. $dom->appendChild($root);
  4. $dato=$dom->createElement('dato');
  5. $id=$dom->createAttribute('id');
  6. $id->value=22;
  7. $dato->appendChild($id);
  8. $root->appendChild($dato);
  9. $name=$dom->createElement('name',"pablo lopez");
  10. $dato->appendChild($name);
  11. $detalle=$dom->createElement('detalle',"persona");
  12. $dato->appendChild($detalle);
  13. echo $dom->saveXML();

esto es a modo de ejemplo(quizas tiene errores de sintaxis), lo que pasa que si luego quiero buscar en el dom por su id con getElementById de DOMDocument no me detecta el id porque no esta declarado en DTD y quiero saber como se deberia hacer para declararlo en DTD y pueda usar getElementById.
espero que ahora se entienda mi problema, de verdad que estube buscando bastante pero nada, si te dicen que se debe declarar como DTD pero no sale como hacerlo tampoco hay ejemplos en el manual php.
se que podria funcionar añadiendo un atributo tipo ns algo asi xmls:id='22' no lo probe pero me gustaria saber como hacerlo declarando el id en doctype.

mas o menos el doctype tiene que ser algo asi:

Código HTML:
Ver original
  1. <!DOCTYPE root[<!ATTLIST dato id ID #REQUIRED>]>
saludos






echo $dom->saveXML();

Última edición por primary; 05/01/2018 a las 10:30
  #6 (permalink)  
Antiguo 05/01/2018, 11:43
Avatar de alvaro_trewhela  
Fecha de Ingreso: octubre-2012
Ubicación: localhost
Mensajes: 839
Antigüedad: 5 años, 2 meses
Puntos: 99
Respuesta: crear un id en un xml

Sip no entendía como lo querías hacer, pero checka esto

http://php.net/manual/en/domdocument...atasection.php
  #7 (permalink)  
Antiguo 05/01/2018, 12:05
 
Fecha de Ingreso: agosto-2011
Mensajes: 285
Antigüedad: 6 años, 4 meses
Puntos: 5
Respuesta: crear un id en un xml

Cita:
Iniciado por alvaro_trewhela Ver Mensaje
Sip no entendía como lo querías hacer, pero checka esto

http://php.net/manual/en/domdocument...atasection.php
se agradece el interes en ayudarme pero sinceramente no se que quieres que haga con eso.
saludos

Última edición por primary; 05/01/2018 a las 13:11



La zona horaria es GMT -6. Ahora son las 10:55.