2013-04-17 3 views
0

У меня есть текстовый файл с несколькими документами XML. Как я могу проанализировать этот xml и обновить несколько значений элементов.
Может существовать возможность, когда у меня есть повторяющиеся имена элементов в одном xml или несколько xmls в том же текстовом файле. В этом случае я бы назвал значение родительского элемента.
Я просмотрел API Java XPath, но для его анализа нужен отдельный XML-документ. Здесь у меня есть несколько xmls в одном файле как String.Чтение и обновление строки XML

ответ

1

Вы можете разделить их на "<?xml" или по стартовому тегу каждого прилагаемого документа, чтобы у вас был набор хорошо структурированных xml-документов.

Затем вы можете создать цепочку outputstreams и методики использования для обновления необходимых элементов с помощью SAX, описанных в

Can we modify the XML file, like deleting,updating the nodes using SAX parser at run-time?

Insert new element to an XML file using SAX Filter

0

Действительный документ XML должен иметь корневой элемент, под которым вы можете указать все остальные элементы. Это документ, в котором может присутствовать только один корневой элемент. Читайте здесь, XML Specifications пункт 2.1.

Итак, сначала попробуйте преобразовать файл в действительный XML-документ и затем проанализировать его с помощью обычных API. Вы должны прочитать весь файл в потоке, префикс и суффикс его с некоторым элементом <root> и представить этот поток в XML-парсер.

0

Если у вас есть несколько документов XML в одном файле, вы можете разбить файл на один XML-документ на файл и разобрать каждый файл отдельно. Или вы можете добавить корневой узел самостоятельно, чтобы создать допустимый XML-документ.

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