|
|
|
Как сравнить два XML документа?
|
|||
|---|---|---|---|
|
#18+
Есть два XML документа - один содержит ряд, другой - набор подобных рядов 1 ...... <?xml version=\"1.0\" encoding=\"UTF-8\"?> <row> <ses>212</ses> <usr>2</usr> <ip1>192.168.0.11</ip1> <ip2>192.168.0.11</ip2> </row> 2 ...... <?xml version=\"1.0\" encoding=\"UTF-8\"?> <rowset><row></row>....<row></row></rowset> Теоретически содержимое первого должно иметься во втором. Как это проверить ???? - не прибегая к сравнению по вхождению одной строки в другую (шеф не разрешает, говорит это слишком топорно), но и не используя сложных преобразований! Lusy && ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2005, 16:58 |
|
||
|
Как сравнить два XML документа?
|
|||
|---|---|---|---|
|
#18+
загрузить сравниваемый документ из файла Код: plaintext в другую переменную загружается кусок 2-го xml и они сравниваются... ЗЫ только из $file1 нужно убрать лишнее перед сравнением... ЗЫ ЗЫ ЗЫ сам правда не пробовал... так что тоже интересно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2005, 17:36 |
|
||
|
Как сравнить два XML документа?
|
|||
|---|---|---|---|
|
#18+
Откуда загружать - не вопрос, например вот так - Document doc = factory.newDocumentBuilder().parse(new InputSource(new StringReader(xml))); - где xml - текстовая строка и получить из DOM текстовую строку - не вопрос с помощью стандартного преобразования try { // Create a transformer Transformer xformer = TransformerFactory.newInstance().newTransformer(); // Set the public and system id xformer.setOutputProperty(OutputKeys.METHOD, "xml"); // Write the DOM document to a file Source source = new DOMSource(dd); StringWriter sw = new StringWriter(); Result result = new StreamResult(sw); xformer.transform(source, result); st=sw.toString(); } catch (TransformerConfigurationException e) { } catch (TransformerException e) { } получаем в st - строку типа <?xml version=\"1.0\" encoding=\"UTF-8\"?><rowset><row></row>....<row></row></rowset> Не проблема - но шеф !!! ети его так не разрешает просто сравнивать две строки "Выковыривай" - говорит из первого и сравнивай со вторым, а я так думаю - должен быть простой способ получить ответ о наличии ряда в сете!!! без кавыряния Только вот я его пока не знаю - может кто подскажет..... Lusy && ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2005, 17:47 |
|
||
|
Как сравнить два XML документа?
|
|||
|---|---|---|---|
|
#18+
я и предлагаю сравнение на XSLT-шаблоне написать. просто сейчас времени нет поэтому идею сгенерировал - дальше надо думать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2005, 18:01 |
|
||
|
Как сравнить два XML документа?
|
|||
|---|---|---|---|
|
#18+
Гениальная мысль ! Ну конечно же в XSLT, а иначе придется ляпать вьюхи к БД :-, Вот тако е вот ля-ля Lusy && ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2005, 18:17 |
|
||
|
Как сравнить два XML документа?
|
|||
|---|---|---|---|
|
#18+
Alex-2Вот тако е вот ля-ля предлагаю без "ля-ля" Вам описать свою задачу. М.б. легче на предыдущих этапах что-то поправить!? Сложно рассуждать не видя всего процесса. действительно получается "ля-ля"... а в чем проблема вьюхи написать? кстати, в них нельзя FOR XML *** использовать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2005, 19:11 |
|
||
|
Как сравнить два XML документа?
|
|||
|---|---|---|---|
|
#18+
Дык Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. Lusy && ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 12:31 |
|
||
|
Как сравнить два XML документа?
|
|||
|---|---|---|---|
|
#18+
Alex-2... А так хотелось сравнить два XML ... Дык, в чем проблема-то? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 12:43 |
|
||
|
Как сравнить два XML документа?
|
|||
|---|---|---|---|
|
#18+
Просто нечеловечески здорово!!!! Жаль, что теперь надо шефа уламывать использовать трансформацию. Он фа нат Сиквела (Sи Qве L). Что ж ему такое пообещать?... Lusy && ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 13:09 |
|
||
|
Как сравнить два XML документа?
|
|||
|---|---|---|---|
|
#18+
А как шаблон влепить с помощью трансформации в файл с rowset?.... Lusy && ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 13:55 |
|
||
|
Как сравнить два XML документа?
|
|||
|---|---|---|---|
|
#18+
пусть шаблон в файле и валяется. а в xml на него ссылку можно запихнуть вида: Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 14:05 |
|
||
|
Как сравнить два XML документа?
|
|||
|---|---|---|---|
|
#18+
Есть вариант на Java через DOM Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.12.2005, 14:06 |
|
||
|
|

start [/forum/topic.php?fid=14&msg=33461927&tid=1334910]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
224ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 582ms |

| 0 / 0 |
