Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

156
Views
Agregar declaración XML al documento XML mediante programación

Quiero agregar la declaración a un documento XML generado en Javascript, pero no encontré suficiente documentación.

Digamos que quiero crear programáticamente (usando Javascript) el siguiente documento XML:

 <?xml version="1.0" encoding="UTF-8"?> <people> <person first-name="eric" last-name="jung" /> </people>

Aquí está el código que hice:

 let doc = document.implementation.createDocument("", "", null); let peopleElem = doc.createElement("people"); let personElem = doc.createElement("person"); personElem.setAttribute("first-name", "eric"); personElem.setAttribute("last-name", "jung"); peopleElem.appendChild(personElem); doc.appendChild(peopleElem); let docStr = new XMLSerializer().serializeToString(doc.documentElement); console.log(docStr); // produces: // <people> // <person first-name="eric" last-name="jung" /> // </people> // and not: // <?xml version="1.0" encoding="UTF-8"?> // <people> // <person first-name="eric" last-name="jung" /> // </people>

¿Cómo debo hacer para obtener la <?xml version="1.0" encoding="UTF-8"?> en el XML generado?

Nota: sé que agregar una declaración es inútil en este caso, pero eventualmente quiero usar un espacio de nombres específico y también agregar entidades XML personalizadas a mi documento.

Gracias por tu ayuda.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Aquí hay una forma de hacerlo.

Consulte la lista de tipos de nodos compatibles para XMLSerializer .

Hay un nodo ProcessingInstruction que se puede crear con el método createProcessingInstruction .

Finalmente, debe serializar todo el documento, no solo documentElement .

 const doc = document.implementation.createDocument("", "", null); const peopleElem = doc.createElement("people"); const pi = doc.createProcessingInstruction('xml', 'version="1.0" encoding="UTF-8"'); doc.insertBefore(pi, doc.firstChild); const personElem = doc.createElement("person"); personElem.setAttribute("first-name", "eric"); personElem.setAttribute("last-name", "jung"); peopleElem.appendChild(personElem); doc.appendChild(peopleElem); const docStr = new XMLSerializer().serializeToString(doc); console.log(docStr);

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!