【发布时间】:2012-11-16 14:37:35
【问题描述】:
我尝试使用 GXT 和 AutoBeans 解析一条 XML 消息。我的 XML 的根节点有一个命名空间声明,AutoBean 解析器似乎无法读取 XML。
我使用 PropertyName 规范设置了 AutoBean 对象图的根:
@PropertyName("record")
RecordObject getRecord();
但是当我的 XML 看起来像这样时:
<record xmlnms:ab="http://anynamespace.com">
<ab:name>SampleName</ab:name>
<ab:email>sample@email.com</ab:email>
</record>
AutoBean 似乎无法解码 XML。如果命名空间声明不存在,AutoBean 可以找到根记录对象。是否有其他参数或我可以指定的东西来告诉 AutoBean 只查看元素名称?
我的尝试
我尝试在剥离命名空间的情况下进行解析,它可以工作,但在我的实际用例中,我无法删除命名空间声明。我还尝试在 @PropertyName 属性中指定命名空间 - @PropertyName("record xmlnms:ab=\"http://anynamespace.com\"") - 但这不起作用(我也没想到会这样)。
编辑
我正在使用 GXT 的 XmlReader 来尝试解析 XML。
【问题讨论】:
-
首先你是如何将 xml 解析为 AutoBeans 的?最后我看了一下,GWT 只支持 JSONAutoBeans。 GXT 有一个 XmlReader,它使用自定义的 Splittable 实现来处理 XML - 你正在使用它吗?或者有其他方法可以连接吗?
-
是的,我应该更具体一些并打错字——我的意思是 GXT。我正在尝试使用 XmlReader。编辑帖子...
-
很好 - 尝试回答传入...
标签: xml parsing namespaces gxt autobean