0

我一直在玩 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>

我的问题是,当我尝试解组此文件时,我遇到了重复的属性问题。我要做的就是将这些字符串加载回列表中,这样我就可以维护团队中的一组人员。顺序等并不重要。有人可以指出我如何迭代每个属性的正确方向,即使它们具有相同的名称?谢谢克里斯

4

1 回答 1

1

你有两个选择:

  1. 向生成文件的人提交错误,要求他们修复具有多个同名属性的错误(您提供的示例不是格式良好的 XML,因此不能期望 XML 处理器解析它)。

  2. 编写一些在流上作为文本流进行操作并生成一些真实 XML 的东西,例如<squad><player>Manuel Almunia Rivero</player><player>Abou Diaby</player>....

第二个是令人担忧的,因为在编写自己的 XML 解析代码时需要注意各种问题(这是他们的错误迫使你这样做),所以如果你能让生成文件的人修复它,这就是要走的路(这将使其他进程能够使用它,而且这是一个简单的事实,毕竟这是他们的错)。

于 2010-10-04T15:27:33.670 回答