Tema: crear XML
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/11/2011, 09:24
halcon_rojo
 
Fecha de Ingreso: septiembre-2006
Mensajes: 30
Antigüedad: 18 años, 6 meses
Puntos: 0
Pregunta crear XML

hola, tengo un problema creando una estructura XML, para empezar debo decir que no se mucho del tema, la cuestion es que con datos q capturo debo armar una estructura especifica en XML la cual es similar a esta:

Código HTML:
<?xml version="1.0" encoding="UTF-8" ?>
<NewDataSet>
  <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="libro">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="titulo" type="xs:string" minOccurs="0" />
                <xs:element name="cabecera" type="xs:string" minOccurs="0" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
          <xs:element name="capitulo">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="posicion" type="xs:int" minOccurs="0" />
                <xs:element name="contenido" type="xs:string" minOccurs="0" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>
  <libro>
    <titulo>BAJO LINEA</titulo>
    <cabecera>Algun texto aqui</cabecera>
  </libro>
  <capitulo>
    <posicion>1</posicion>
    <contenido>primero</contenido>
  </capitulo>
  <capitulo>
    <posicion>2</posicion>
    <contenido>segundo</contenido>
  </capitulo>
  <capitulo>
    <posicion>n</posicion>
    <contenido>varios mas</contenido>
  </capitulo>
</NewDataSet> 
que es una version super-resumida de lo que en realidad manejo, estoy manejando DOMDocument en php que me ha permitido crear hasta cierto punto este XML el primer problema es :
-no se como insertar todo lo que va desde
Código HTML:
<xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> 
hasta
Código HTML:
</xs:schema> 
eso lo estoy obviando por el momento
segundo problema es que DOM me da error cuando creo varios nodos CAPITULO es decir
Código HTML:
<capitulo>
    <posicion>1</posicion>
    <contenido>primero</contenido>
  </capitulo> 
ya que entiendo que no puede haber nodos iguales en un mismo nivel o algo asi.
he numerado los CAPITULOS cosa que tengan distintos nombres los nodos y si funciona pero no es lo que requiero
hay alguna forma de armar este XML con la estructura requerida, ya se a usando DOM u otra herramienta? dato aparte, este formato es leido por otra aplicacion hecha en C# por eso debo recrearlo asi.