>我正在使用一个XML(我在XML中是平均水平)文档,其中我想自动关闭所有空元素,例如:
从 :
<colgroup>
<col class="Row-Column-1">
<col class="Row-Column-2">
<col class="Row-Column-3">
<col class="Row-Column-4">
</colgroup>
至 :
<colgroup>
<col class="Row-Column-1"/>
<col class="Row-Column-2"/>
<col class="Row-Column-3"/>
<col class="Row-Column-4"/>
</colgroup>
任何人都可以提出一个想法来使用任何方式或任何命令行工具(如"整洁")来做到这一点。
提前感谢!
将成为源 XML 的"from"部分不是有效的 XML。因此,您正在尝试将无效的xml转换为有效的xml。
由于XSLT主要用于将有效的xml转换为其他类似(XML,HTML,Text)的内容,因此目前您正在尝试的内容无法通过XSLT实现。
您可以做的是在某些编程语言中以字符串格式读取数据并相应地进行更改。
我建议你的问题标签(xml xslt xslt-1.0 xslt-2.0)是错误的,你应该用Perl标记你的问题 - 你选择的修复语言 - 因为目前你只要求XML/XSLT答案,而你的源文件甚至不是XML。
无论您选择哪种语言,搜索和替换">"/>都可以解决问题。如果序列">出现在文档的其他位置,则需要改为执行正则表达式搜索和替换。类似的东西
搜索词:
(<col class="Row-Column-[0-9]+)(">)
更换期限:
$1"/>
至少,这就是我在IntelliJ中所做的,它支持正则表达式搜索和替换。