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