2010-10-04 3 views
0

Я играл с XML-анализом XStream, и у меня есть небольшая проблема. В файле мне нужно разобрать, у меня есть узел с несколькими произвольными атрибутами с тем же именем. Узел - это футбольная команда, а атрибуты - имена каждого игрока.Проблема с дубликат атрибута Xstream

<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> 

Проблема в том, что при попытке и демонстрации этого файла я получаю дубликат атрибута. Все, что я хочу сделать, это загрузить эти строки в список, чтобы я мог поддерживать коллекцию людей в команде. Это не важно для заказа и т. Д. Может ли кто-нибудь указать мне в правильном направлении, как итерации, хотя каждый атрибут, даже если они имеют одинаковое имя? Благодаря Chris

ответ

1

У вас есть два варианта:

  1. файлы ошибка с кем производится файл с просьбой исправить ошибку, где у них есть несколько атрибутов с тем же именем (пример вы дали не хорошо сформированный XML, поэтому невозможно обработать XML-процессор для его анализа).

  2. Напишите что-то, что работает в потоке как текстовый поток, и создает некоторые реальные XML, например, например, <squad><player>Manuel Almunia Rivero</player><player>Abou Diaby</player>....

Второй чреват, потому что есть все виды вопросов, быть осторожными при написании собственного кода XML разбора (который является то, что их ошибка заставляет вас делать), так что если вы можете получить человек создавая файл для его исправления, это способ пойти (это, и это сделает другие процессы в состоянии использовать его, а также простой факт, что это их вина в конце концов).

+0

Итак, если я правильно понимаю свое решение, вы предлагаете получить копию файла XML, где каждое значение (например, имя, команда и т. Д.) Указывается как узел (например, заключено в его собственные теги), а не как атрибут узла? –

+0

Это сработает. Если это вообще возможно, попросите человека, производящего его, отправить вам что-то в реальном XML, а не фиксировать его самостоятельно. –

+0

Спасибо за помощь. Человек, производящий XML, является членом моего времени, и это аддон к проекту, поэтому у нас нет большого количества времени для исследования правильных XML-соглашений. Вышеприведенный результат выглядел приятным и понятным для человека, но является правильным способом сериализации данных, чтобы заключить каждый атрибут в свои собственные теги? Спасибо за вашу помощь и терпение. –

Смежные вопросы