Моя проблема: я хотел бы проанализировать огромное количество больших XML-файлов и записать данные в базу данных mysql.Дело в том, что все эти XML-файлы не являются правильно сформированными, поскольку администратор объединяет несколько XML-файлов в один XML-файл и публикует их.Так что мой SAX Parser отлично работает для отдельных XML-файлов, выдает ошибку, он не может обработать XML-файл, который содержит несколько объявлений XML (xml-версия ...)
Брошенное сообщение об ошибке:
Исключение в потоке "main" org.xml.sax.SAXParseException;systemId: ..... "[xX] [mM] [lL]" .....
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE us-patent-grant SYSTEM "us-patent-grant-v42-2006-08-23.dtd" [ ]>
<us-patent-grant lang="EN" dtd-version="v4.2 2006-08-23" file="USD0535456-20070123.XML" status="PRODUCTION" id="us-patent-grant" country="US" date-produced="20070110" date-publ="20070123">
<us-bibliographic-data-grant>
<publication-reference>
<document-id>
<country>US</country>
<doc-number>D0535456</doc-number>
<kind>S1</kind>
<date>20070123</date>
</document-id>
</publication-reference>
<us-application-series-code>29</us-application-series-code>
</us-bibliographic-data-grant>
</us-patent-grant>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE us-patent-grant SYSTEM "us-patent-grant-v42-2006-08-23.dtd" [ ]>
<us-patent-grant lang="EN" dtd-version="v4.2 2006-08-23" file="USD0535457-20070123.XML" status="PRODUCTION" id="us-patent-grant" country="US" date-produced="20070110" date-publ="20070123">
<us-bibliographic-data-grant>
...
Поскольку я просматривал несколько форумов и сайтов, единственное трезвое решение - этопрочитать XML-файл, разделить его по корневому тегу и записать в отдельные XML-файлы?Как я могу читать и записывать XML-файл, не анализируя его с помощью SAX / Stax / DOM?
Результаты должны быть следующими: XML FILE 1:
?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE us-patent-grant SYSTEM "us-patent-grant-v42-2006-08-23.dtd" [ ]>
<us-patent-grant lang="EN" dtd-version="v4.2 2006-08-23" file="USD0535456-20070123.XML" status="PRODUCTION" id="us-patent-grant" country="US" date-produced="20070110" date-publ="20070123">
<us-bibliographic-data-grant>
...
</us-bibliographic-data-grant>
</us-patent-grant>
XML FILE 2:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE us-patent-grant SYSTEM "us-patent-grant-v42-2006-08-23.dtd" [ ]>
<us-patent-grant lang="EN" dtd-version="v4.2 2006-08-23" file="USD0535457-20070123.XML" status="PRODUCTION" id="us-patent-grant" country="US" date-produced="20070110" date-publ="20070123">
<us-bibliographic-data-grant>
...