我正在使用 cellux 的一个很棒的技巧在这个问题的现有元素下添加一个新元素(带有属性和子元素),并遇到了格式挑战。
从文件 example.xml 开始:
<processes>
<process id="test"/>
</processes>
如果我使用 cellux 的方法通过一次调用 xml 来执行多个操作...
xml ed -L \
-s "/processes" -t elem -n processTMP -v "" \
-i "/processes/processTMP" -t attr -n id -v "test2" \
-s "/processes/processTMP" -t elem -n subproc -v "s2" \
-r "/processes/processTMP" -v "process" \
example.xml
结果文件包含一个新的 XML 行。
<processes>
<process id="test"/>
<process id="test2"><subproc>s2</subproc></process>
</processes>
如果我在单独的调用中多次调用 xml...
xml ed -L -s "/processes" -t elem -n processTMP -v "" example.xml
xml ed -L -i "/processes/processTMP" -t attr -n id -v "test2" example.xml
xml ed -L -s "/processes/processTMP" -t elem -n subproc -v "s2" example.xml
xml ed -L -r "/processes/processTMP" -v "process" example.xml
我得到格式良好(缩进)的 XML。
<processes>
<process id="test"/>
<process id="test2">
<subproc>s2</subproc>
</process>
</processes>
这两个文件在语法上是相同的,但我希望 XML 尽可能干净。
有谁知道一种对 xml 进行一次调用并仍然获得格式的干净方法?我知道我可以在最后通过“xml fo”运行它,但必须有更好的方法。