【发布时间】:2011-10-16 13:58:16
【问题描述】:
我可以在 Java 中使用 SAXParserFactory 很好地解析 xml,但在某些文件中,
存在一些非小写属性,例如linear3D="0.5" 等。
我想以某种方式制作
attributes.getValue(attr)
不区分大小写,因此attributes.getValue("linear3d") 返回“0.5”。
一种解决方案是先将文件作为字符串读取,转换为小写,然后解析, 因为在这种类型的 xml 中这样做没有歧义。 但是,这可以通过向工厂添加一些标志或类似方法来更简单地完成吗?
【问题讨论】:
-
你应该改变你的模型。 XML 区分大小写。不要违背约定。
-
好吧,不幸的是,我正在尝试解析几乎符合 .xml 标准的 .flame 文件。我无法控制它的语法,因为它们是由第三方软件创建的。
-
这是什么意思?你不能保证它总是linear3d或linear3D?
-
嗯,理论上,它可能总是线性3D,但是,属性与类文件是一一对应的,并且按照Java标准,这些应该大写。一个解决方案是将我的 Linear3d 类重命名为 Linear3D...
-
您应该真正规范化类和字段名称,而不是一遍又一遍地转换 XML 文件。
标签: java case-sensitive saxparser