我尝试使用xmllint --format xmlfilename
格式化下面的XML而没有运气,因为该文件没有根节点。
作为测试,我确实放了一个根节点,XML文件格式化成功。
如何在没有根节点的情况下格式化此文件?
<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"/>
答案 0 :(得分:2)
您可以将该内容合并到&#34;包装器中。使用external entity引用包含其内容的XML文件。
在下面的示例中,它假定您的内容是fragment.xml
文件和&#34;包装器&#34; XML位于同一目录中。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wrapper [
<!ENTITY content SYSTEM "fragment.xml">
]>
<wrapper>
&content;
</wrapper>
然后解析/转换&#34;包装器&#34; XML文件,用于解析/格式化内容。
答案 1 :(得分:0)
使用整洁:
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 -qi
输出:
<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" />