遇到xmlstar问题。 它会删除空标签,如何禁用它?
输入:
<tag1>test1</tag1>
<tag3></tag3>
<tag4>test3</tag4>
输出:
<tag1>test1</tag1>
<tag3/>
<tag4>test3</tag4>
我想要相同的输出,所以不会删除结束报价。
希望有人能快速回答。
答案 0 :(得分:2)
在XML中,<a></a>
和<a/>
(注意/
)在语义上是相同的。无论什么应用程序消耗文档都不应该关心这种变化。
我对xmlstarlet一无所知,但如果它的序列化程序没有选项来生成更详细的表单,则可能需要对文档进行后处理。
如果你绝对需要以前的版本,你有四个选择:找一个XML序列化器,它将写出该表单中的空元素(你可能使用的那个可能有也可能没有选项),修改XML序列化程序写出该表单中的空元素,编写自己的XML序列化程序(不推荐;这不是很难,但如果你问这个问题有详细信息可以给你带来麻烦),或者在写完文本之后对文本进行后处理将<a></a>
的所有实例更改为<a/>
。
实际上,还有另一种可能性。如果你的其他程序需要长格式的原因是因为它需要HTML,你应该使用HTML序列化程序而不是XML序列化程序。
答案 1 :(得分:0)
我知道它是一样的。 但我之所以需要的是工具应该reed这不支持这种格式的xml。它需要结束标记。
所以我会对任何有想法的人感兴趣。
文件的标题是。 所以它的工具是读取文件的。
<?xml version="1.0" encoding="iso-8859-1"?>
<project>
<fileVersion>2</fileVersion>
<configuration>
<name>Debug</name>
<toolchain>
<name>ARM</name>
</toolchain>