SSAX-SXML和数字
发布时间:2020-12-16 00:01:06 所属栏目:百科 来源:网络整理
导读:我正在使用SSAX-S XML来处理模仿 XML数据编码的树结构.所以我想到直接使用SXML表示作为数据结构来使用.一切都很好,我得到了默认访问器和XPath的所有功能,我发现它非常有用. 但我有一个问题. XML将所有内容都表示为字符串,因此我需要始终将字符串转换为数字,
我正在使用SSAX-S
XML来处理模仿
XML数据编码的树结构.所以我想到直接使用SXML表示作为数据结构来使用.一切都很好,我得到了默认访问器和XPath的所有功能,我发现它非常有用.
但我有一个问题. XML将所有内容都表示为字符串,因此我需要始终将字符串转换为数字,反之亦然.这将扼杀性能,只是一个糟糕的设计理念.我正在考虑使用SXML列表并在一次传递中将所有字符串转换为数字.但是,有没有一种方法可以让SXML直接通过XML或任何方式通过XML告诉某些东西应该表示为数字,而不是字符串? 这是我的SXML列表: ((wall (@ (uid "2387058723")) (pt (@ (y "2.0") (x "1.0"))) (pt (@ (y "4.0") (x "3.0")))) (wall (@ (uid "5493820876")) (pt (@ (y "0.0") (x "0.0"))) (pt (@ (y "100.0") (x "0.0"))) (window (@ (to "0.4") (from "0.2"))) (window (@ (size "1.0") (from "0.2"))) (door (@ (size "1.0") (from "0.2")))) (pilar (@ (uid "692034802")) (center (@ (y "5.0") (x "5.0"))) (dim (@ (b "0.45") (a "0.3")))) (room (@ (label "salon")) (wall (@ (uid "2387058723"))) (wall (@ (uid "5493820876"))) (wall (@ (uid "5394501263"))) (wall (@ (uid "0034923049")))) (entry (@ (doorNumber "0")) (wall (@ (uid "5493820876")))) (num "0,9") (pipe (@ (y "8.0") (x "10.0")))) 从看起来像这样的XML(提取): <wall uid="2387058723"> <pt x="1.0" y="2.0"/> <pt x="3.0" y="4.0"/> </wall> 谢谢.
SSAX没有任何支持进行类型转换,因为正确地注意到XML缺少任何语义信息.您所能做的就是对属性设置一些方案约束.但是SSAX不支持XSD.所以它没有任何用处.
但是将所有字符串转换为数字非常简单,因为解析后的XML存储在列表中,处理列表是Scheme中最自然的事情. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |