1

我正在使用 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”运行它,但必须有更好的方法。

4

0 回答 0