![]() |
1
8
如果您编写了一个压缩例程来实现这一点,那么是的,您可以压缩流并在另一端恢复它。 没有这样做的原因是:
|
![]() |
2
5
这不是有效的XML。必须命名结束标记。否则它可能会出错,坦白地说,我认为按照您的方式,它的可读性会降低。
|
![]() |
3
5
如果需要更好的压缩和更简单的解析,可以尝试使用XML属性:
|
![]() |
4
5
|
![]() |
5
4
若数据的大小有任何问题,那个么XML就不适合您。 |
![]() |
6
4
从哲学角度看待你的问题,SGML
做
允许
可读 在电线上。另一个优点是,如果必须手动输入XML(例如用于测试),则不必关闭结束标记(次要)是一种方便。就是更 人类可写 而不是标准的XML。我说“minor”,因为大多数编辑器都会为您完成字符串补全(例如vim中的^n和^p)。
除去关闭标签
:最简单的方法是使用如下内容:
把它们加回去 :您需要一个特殊的解析器,因为SAX和其他XML解析器无法识别它(因为它不是“XML”)。但是(最简单的)解析只需要识别打开的标记名和关闭的标记名。
顺便说一句(作为对上面评论的回应),这是有效的,因为在XML中,关闭标记只能与最近打开的标记相对应。与嵌套括号相同。 然而,我认为你是对的,肯定有人已经这样做了。也许可以检查Python或Perl存储库?
编辑:您可以进一步省略尾随
|
![]() |
8
2
即使这是可能的,它也只需要更长的时间来解析,因为现在解析器必须找出关闭的内容,并且必须不断检查是否正确。 如果您想要压缩,XML是高度gzip的。 |
![]() |
9
1
|
![]() |
11
0
|
![]() |
12
0
是的,xml是一种很重的格式。但它有一定的优势。 如果您认为xml对您的使用来说过于繁重,那么可以看看JSON。它重量轻,但功能不如xml。 如果您想要非常小的文件,请使用二进制格式;-)。 |
![]() |
13
0
如果不使用gzip或类似的东西,我只需在发送之前和在接收端使用xml之前用一个较短的标记名替换每个标记名。所以你会得到这样的结果:
|
![]() |
14
0
不要为XML的文本内优化和降低读/写性能/简单性而烦恼。使用deflate compression在客户端和服务器之间压缩负载。我做了一些测试,压缩一个普通的10KXML文件会得到一个2.5KBLUB。删除所有端点结束标记名称会将原始文件大小降低到9k,但一旦缩小,它将再次降低到2.5k。这是一个非常好的例子,基于字典的压缩是压缩端点之间有效负载的简单方法。“”和“”将(几乎)在压缩数据中使用相同的空间。
|
![]() |
JobProcessTask · 如何读取此xpath表达式? 2 年前 |
![]() |
MBF · PHP导入/解析XML文件内容保存到数据库 2 年前 |
![]() |
TenkMan · SQL Server XML嵌套值查询表单990 2 年前 |
![]() |
Mohan.Murali.Peddini · XSLT模板循环记录 2 年前 |