2015-03-23 3 views
0

У меня есть проблема с разбора XML-файл (. Не ответ мне нужно разбора из файла)SoapUI: разбор файла XML

Итак, у меня есть TRY.xml файл как

<!DOCTYPE request SYSTEM "URIWHEREDTD.dtd"> 
<request> 
    <tag1>1</tag1> 
    <tag2>2</tag2> 
</request> 
<request> 
    <tag1>1</tag1> 
    <tag2>3</tag2> 
</request> 

Файл может быть на самом деле огромный, он может быть получен НЕ через soapui и т. д. Итак, мне нужно разобрать файл.

Когда я пытаюсь

def inputFile = new XmlParser().parse("c:/TRY.xml") 

он только что вернулся

org.xml.sax.SAXParseException,... 
Comment must start with " error 

Я добавил, что "в XML-файл, но новая ошибка:

Content is not allowed in prolog 

Итак, это проблема ...

Может кто-нибудь быть o kind и gimme решение для этой ошибки или какой-либо другой способ анализа XML-файла?

Например, в моем файле «Пример» Я хочу, чтобы разобрать на элементы (и получить их значения) для tag1 [1], [2 tag1] и т.д.

+0

Похоже, что это недействительный файл XML. – Opal

+0

Этот файл отправлен из ответа на вызов с использованием схемы * .dtd. Ответ получен только Dmitry

+0

Ох, вот непонимание. Я привел только пример, и в оригинале XML был . Это не «запрос», это «ответ» на испанском языке. Извините за недопонимание. – Dmitry

ответ

1

Действительный xml файл должен иметь только один корневой узел, в вашем XML есть два корневых узлов <request>, вы, чтобы изменить файл XML, чтобы что-то вроде:

<!DOCTYPE request SYSTEM "URIWHEREDTD.dtd"> 
<root> 
    <request> 
     <tag1>1</tag1> 
     <tag2>2</tag2> 
    </request> 
    <request> 
     <tag1>1</tag1> 
     <tag2>3</tag2> 
    </request> 
</root> 

Кроме того ваша ошибка, вероятно, происходит от dtd схемы, которая не показана в вашем вопросе.

Надеюсь, что это поможет,

+0

, который дал мне правильный путь для расследования, спасибо, чувак. – Dmitry

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