在java中使用SAX解析XML,不区分大小写。
我可以使用 Java 中的 SAXParserFactory 很好地解析 xml,但在某些文件中, 存在一些非小写属性,例如 Linear3D="0.5" 等。
我想以某种方式使
attributes.getValue(attr)
大小写不敏感,以便 attributes.getValue("linear3d")
返回“0.5”。
一种解决方案是首先将文件作为字符串读取,转换为小写,然后解析, 因为在这种类型的 xml 中执行此操作没有任何歧义。 但是,是否可以通过向工厂添加一些标志或类似的方式来更简单地完成此操作?
I can parse xml just fine with SAXParserFactory in Java, BUT in some files,
there are some non-lowercase attributes present, like linear3D="0.5"
etc.
I would like to somehow make
attributes.getValue(attr)
case-insensitive, so that attributes.getValue("linear3d")
returns "0.5".
One solution would be to read the file as a string first, convert to lowercase, and then parse,
since there is no ambiguity in doing this in this type of xml.
However, can this be done more simply, by adding some flag to the factory or similar?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
下面的方法不是将整个文件转换为小写,而是更好。这会迭代所选标签的所有属性并忽略大小写进行比较。
在 DefaultHandler 的实现中编写以下方法
Instead of converting the entire file in to lower case the following approach is better. This iterates through all the attributes of the selected tag and comperes it ignoring the case.
Inside the implementaion of DefaultHandler write the following method