2013-11-01 3 views
0

У меня есть XML-строка, которую говорят валидаторы. Ошибка возникает в строке 2 символа 1. Строка находится на одном уровне. Это около сотни вхождений <map>, а карта имеет различные атрибуты.Не удается определить, что недействительно с моим очень простым XML

<map attribute_1="thomas"></map> 
<map attribute_1="thomas again"></map> 

Это целая строка. Но я говорю, что

Line 1: Can not find declaration of element 'map'. 
Line 2: The markup in the document following the root element must be well-formed. 

Основываясь на том, что я прочитал в this answer, я подумал, что, возможно, <map> нужен родительский элемент, который делит атрибут name с ребенком. Я копирую вставили структуру, так что я в конечном итоге с чем-то вроде

<element name="details"> 
    <complexType> 
     <sequence> 
      <map name="details"> 
      </map> 
     </sequence> 
    </complexType> 
</element> 

Это был просто выстрел в темноте, так как мой опыт работы с XML равен нулю. В любом случае, это не сработало. Что случилось с моей разметкой?

+1

Это похоже на ошибку проверки, а не на корректную ошибку. Под этим я подразумеваю, что у вас нет схемы документирования вашего формата документа xml, чтобы любой инструмент, сгенерированный этими ошибками, не мог проверить, что XML-документ соответствует спецификации. При этом вы также должны иметь один корневой элемент в документе, а не несколько. Поэтому ' ... ...' например. –

+0

@EtanReisner обертывание всего документа с помощью ' ...' теперь дает мне ошибку 'Не удается найти объявление элемента 'root'.' Re: schema, как я могу добавить это? Спасибо. – 1252748

+1

Вы либо пишете документ схемы xml (xsd) для своего документа, либо сообщите своему инструменту, чтобы он не пытался проверить документ на схему. –

ответ

1

Ваш XML должен быть как

<?xml version="1.0" encoding="UTF-8"?> 
<maps> 
<map attribute_1="thomas"></map> 
<map attribute_1="thomas again"></map> 
</maps> 

попробовать этот

0

Это не ясно, как вы обрабатываете документ в точке вы получите ошибку, но вы должны сделать выбор:

(a) Если вы хотите проверить документ по схеме, вам необходимо предоставить схему.

(b) Если вы не хотите проверять документ по схеме, вам необходимо изменить способ обработки, чтобы проверка не производилась.