哪些库/工具可用于整理 xml ?
我发现了强烈推荐的HtmlTidy,但遗憾的是它无法正确处理我输入的xml文件 - 我的意思是提交错误报告,但与此同时我需要一个可以使用的xml整理工具我的xml。
有人可以提出任何替代方案吗?
更新:“Tidy”我的意思是美化xml,所以(例如):
<xml><testing attribute="somevalue"><etc /></testing></xml>
成为
<xml>
<testing attribute="somevalue">
<etc />
</testing>
</xml>
我使用HtmlTidy获取的错误
当我有机会用一些xml重现它时,我可以在错误报告中提交我打算这样做,但是如果你感兴趣我得到的错误有点像这样:
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 1 column 1 - Warning: plain text isn't allowed in <head> elements
line 1 column 1 - Info: <head> previously mentioned
line 1 column 1 - Warning: inserting implicit <body>
line 1 column 6558 - Error: <myelement> is not recognized!
line 1 column 6558 - Warning: discarding unexpected <myelement>
** snip - around 15 similar errors / warnings **
48 warnings, 22 errors were found! Not all warnings/errors were shown.
This document has errors that must be fixed before
using HTML Tidy to generate a tidied up version.
值得注意的是我的xml相当大(~18k)并且都在一行上格式化,但它是完全有效的xml。如果我在Visual Studio中打开文件并使用VS具有的“美化”,HtmlTidy能够正确解析生成的xml。
答案 0 :(得分:0)
你有xmllint吗?它的--format
选项将提供良好的缩进格式作为输出。
答案 1 :(得分:0)
如果你可以使用XSLT,那么你已经有了一个可以做到这一点的工具。
创建一个包含identity transform的样式表,并使用xsl:output
的缩进属性缩进输出。 Bingo - 整洁的XML,按照你的定义。
顺便提一下,请注意,添加空间的XML原则上与原始XML不同(有时空格对XML很重要),但这对您来说无关紧要。