我一直在玩XStream XML解析,我有点问题。在我需要解析的文件中,我有一个具有多个同名属性的节点。节点是足球队,属性是每个球员的名字。
<team home="Arsenal">
<squad player="Manuel Almunia Rivero" player="Abou Diaby" player="Bacary Sagna" ... player="Robin van Persie"/>
<subs player="Carlos Vela" player="Theo Walcott"/>
</team>
我的问题是,当我尝试和解组此文件时,我遇到了重复的属性问题。我想要做的就是将这些字符串加载到List中,这样我就可以维护团队中的一组人员。这对订单等并不重要。 有人可以指出我如何迭代每个属性的正确方向,即使它们具有相同的名称? 谢谢 克里斯
答案 0 :(得分:1)
您有两种选择:
向生成该文件的人提出错误,要求他们修复具有相同名称的多个属性的错误(您提供的示例不是格式良好的XML,因此不能指望XML处理器解析它)。
将在流上运行的内容编写为文本流,并生成一些真实的XML,例如<squad><player>Manuel Almunia Rivero</player><player>Abou Diaby</player>...
。
第二个是充满希望的,因为在编写自己的XML解析代码时会有各种各样的问题(这就是他们的bug迫使你去做的事情),所以如果你能让生成文件的人修复它,这是要走的路(它会让其他进程能够使用它,而且还有一个简单的事实,就是它毕竟是它们的错误)。