|
|
|
Сравнение двух xml на java
|
|||
|---|---|---|---|
|
#18+
Ребята, посоветуйте в каком направлении двигаться. Есть 2 xml файла, нужно данными из одного обновить данные другого. Если есть совпадение по полю title, то изменить значения дочерних элементов данными из второго файла, если нет совпадений, то новые данные дозаписать в первый файл. Интернtты говорят, что нужно использовать SAX и Xpath. Но... каким образом организовать поиск? Нужно ли преобразовать один из эксэмэлей в список, или оба их преобразовывать? Я не знаю как через xpath организовать поиск в двух файлах. Это два потока, одновременный парсинг двух документов? Ребята, подскажите в каком направлении копать. Лопата есть Спасибо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2012, 20:56:09 |
|
||
|
Сравнение двух xml на java
|
|||
|---|---|---|---|
|
#18+
IMHO самый быстрый способ для написания, но не самый эффективный по производительности-это XSL.Если не для веба , то вполне сгодится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2012, 22:34:49 |
|
||
|
Сравнение двух xml на java
|
|||
|---|---|---|---|
|
#18+
lykeit, если бы тупая вставка нода-дерева в другой нод-дерево, то можно было бы автоматизировать. А тут - merge. Т.е. руками, как напишешь, так и будет. imho - поищи в парсерах XML готовую либу на вставку поддерева в дерево - это ускорит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2012, 22:44:12 |
|
||
|
Сравнение двух xml на java
|
|||
|---|---|---|---|
|
#18+
Troglodit, как раз для веба и + на java. Petro123, то есть объединить два файла, а затем уже бегать по нему? А смогу ли я как-то управлять скажем первой и второй частью такого объединенного файла с тем чтобы оставить если что записи из второй части... как-то тяжело преставляется. Моожно чуть подробней? Спасибо)))))) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2012, 23:16:18 |
|
||
|
Сравнение двух xml на java
|
|||
|---|---|---|---|
|
#18+
lykeitPetro123, то есть объединить два файла нет. Это уже в конце БЛ. lykeitЕсли есть совпадение по полю title, то изменить значения дочерних элементов данными из второго файла, если нет совпадений, то новые данные дозаписать в первый файл. ровно так, и делай: - цикл по нодам - совпадает? - ЦЕЛИКОМ УДАЛЯЕМ подветку - ЦЕЛИКОМ вставляем подветку. ЗЫ. Бегать по обоим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2012, 09:31:01 |
|
||
|
Сравнение двух xml на java
|
|||
|---|---|---|---|
|
#18+
lykeitРебята, подскажите в каком направлении копать. Лопата есть Я бы сделал так (груви, т.к. лень придумывать классы): Код: java 1. 2. 3. 4. т.е. преобразовал XML в Java-классы (это отлично может сделать и JAXB, и Digester) и реализовал логику сравнения чисто на классах. Потом полученную структуру сохранил бы в XML. Код union выглядел бы примерно так (лень вспоминать названия функций, тут идея): Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Правда, я не совсем понял из ТЗ, что делать с данными, которые есть во втором файле и которых нет в первом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2012, 10:38:56 |
|
||
|
Сравнение двух xml на java
|
|||
|---|---|---|---|
|
#18+
lykeit, псевдокод Код: pascal 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.02.2012, 11:02:59 |
|
||
|
|

start [/forum/topic.php?fid=59&fpage=307&tid=2132468]: |
0ms |
get settings: |
11ms |
get forum list: |
25ms |
check forum access: |
7ms |
check topic access: |
7ms |
track hit: |
45ms |
get topic data: |
18ms |
get forum data: |
4ms |
get page messages: |
73ms |
get tp. blocked users: |
3ms |
| others: | 342ms |
| total: | 535ms |

| 0 / 0 |
