Traté de formatear el siguiente XML usando xmllint --format xmlfilename sin suerte ya que el archivo no tiene un nodo raíz.
Como prueba, puse un nodo raíz y el archivo XML se formateó correctamente.
¿Cómo puedo formatear este archivo sin un nodo raíz?
<connection_param> <mlc_props_file> <file_full_path>./fs/public/mxres/mxmlc/mlc_properties.mxres</file_full_path> </mlc_props_file> </connection_param> <login group="CONFIG" password="00100020004100470016" user="CONFIG"/>Puede incorporar ese contenido en un archivo XML "envoltorio" que incluye su contenido utilizando una referencia de entidad externa .
En el siguiente ejemplo, se supone que su contenido es el archivo fragment.xml y el XML "envoltorio" está en el mismo directorio.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE wrapper [ <!ENTITY content SYSTEM "fragment.xml"> ]> <wrapper> &content; </wrapper>Luego analice/transforme el archivo XML "envoltorio" para analizar/formatear el contenido.
Usar ordenado:
echo ' <connection_param> <mlc_props_file> <file_full_path>./fs/public/mxres/mxmlc/mlc_properties.mxres</file_full_path> </mlc_props_file> </connection_param> <login group="CONFIG" password="00100020004100470016" user="CONFIG"/> '| tidy -xml -qiProducción:
<connection_param> <mlc_props_file> <file_full_path> ./fs/public/mxres/mxmlc/mlc_properties.mxres</file_full_path> </mlc_props_file> </connection_param> <login group="CONFIG" password="00100020004100470016" user="CONFIG" />