Инструмент или библиотека для сравнения [закрытых] XML-файлов

Вы, похоже, ищете операцию sum, а не count, которая потребует от вас преобразования потока в основном в IntStream . Вы можете обновить свой код:

private int numberOfElementsStream(StackInfo[] info) {
    return Arrays.stream(info)    // Stream
            .mapToInt(sd -> sd.size)   //IntStream of their size
            .sum();   // sum of all
}

41
задан Glorfindel 1 March 2019 в 23:00
поделиться

13 ответов

Если я понимаю Вашу проблему, у Вас, вероятно, есть приложение, которое использует XML-файлы в качестве хранения данных, и GUI абстрагирует "технические" имена тега в "удобные для пользователя" маркировки - снова, я принимаю. Таким образом, это было бы естественное расширение для просмотра различий в похожем способе. Я также предполагаю, что Ваше приложение не имеет различного средства, которое следует за понятием "абстракции".

я сделал некоторый поиск и нашел одно приложение ( ExamXML), который, кажется, приближается с функциями подсветки. Я загрузил версию оценки и протестировал Ваши файлы против нее:

http://www.programmedintheusa.com/images/stack547399.png

Это делает довольно хорошее задание выделения различий. Это кажется довольно интерактивным и открывается со сколько различий. Похоже, что можно изменить цвета, которые это использует, поэтому возможно, можно использовать серые и белые оттенки для преуменьшения роль тегов. Это также, кажется, имеет много опций, которые можно задать для пользователей также.

я хочу отметить, что Вам будет трудно находить инструмент сравнения XML, который не покажет имена тега, поскольку теги - то, что дает контекст содержания. Если Вы устраняете контекст, становится трудным понять отображаемые данные. Во всяком случае возможно, этот инструмент мог бы быть полезным. Судите Вас также, чтобы показать Вашим пользователям некоторые из этих инструментов и видеть то, что они готовы терпеть, иногда они могут удивить Вас.Надеюсь, это поможет!

14
ответ дан Jeff Atwood 27 November 2019 в 00:53
поделиться

Я очень удивлен, что никто не упомянул Microsoft Блокнот

XML, Это свободно, и это может создать довольно хорошее сравнение, говоря, какие элементы/атрибуты изменились, переместились, удалить и т.д.:

(Извините, если снимки экрана немного широки).

можно также применить XLSes к XML-файлу и сделать различные операции редактирования. Определенно стоящий попытки.

17
ответ дан Community 27 November 2019 в 00:53
поделиться

DiffMerge SourceGear свободен для однопользовательского:

http://www.sourcegear.com/diffmerge/

5
ответ дан Mike L 27 November 2019 в 00:53
поделиться

Я мог бы попробовать DeltaXML +, XSLT преобразовывает для получения определенного результата, который Вы хотите. Одна проблема с использованием простого текста выдерживает сравнение, инструменты с XML то, что физическая форма XML-документа (его расположение с отступом, и т.д.) может измениться, даже если само содержание не делает, который мог бы привести к большому количеству ложных положительных сторон. DeltaXML является очень хорошим инструментом для сравнения основанного на документе XML.

кроме того, в зависимости от редактора Ваши пользователи используют, это может иметь XML differencing встроенный. Например, Arbortext Editor имеет хороший инструмент, который показывает текст (не теги) с изменениями, выделенными / пораженный - через.

3
ответ дан James Sulak 27 November 2019 в 00:53
поделиться

Шпион Altova diffDog XML и diffDog являются исключительными инструментами. Вырвите их от моих холодных деспотических воздействий, вида материала.

3
ответ дан jmcecil 27 November 2019 в 00:53
поделиться

Вне всякого сравнения превосходно, как @BobbyShaftoe уже упомянул. Для слияния однако, мне нравится использовать Слияние Araxis . Мы используем его в подобных целях довольно часто.

До Вашего комментария о нетехнической способности Ваших пользователей:

спасибо за Ответы... Но они все кажутся слишком техническими. Мои пользователи обычно не видят тегов XML, потому что их инструмент разработки XML абстрагирует их далеко. Есть ли любые инструменты, которые отображают различия в текстовом содержании, но не показывают (или de-emphazise) теги XML.

я собираюсь бросить это там: Ваши пользователи должны учиться. Если у Вас есть они объединяющиеся и изменяющиеся XML-файлы - я принимаю потенциально для ведения учета или конфигурации приложения - затем у них должно быть, по крайней мере, элементарное понимание того, что они делают. Они не должны быть свистами XML, чтобы использовать перечисленные инструменты и сделать задание.

, Если, однако, требуя, чтобы Ваши пользователи имели элементарное знание задания, они делают, невозможно, затем я предложил бы писать средство конфигурирования самостоятельно и поставить его для Ваших конечных пользователей, вместо того, чтобы полагаться на стороннее программное обеспечение.

2
ответ дан Matt Jordan 27 November 2019 в 00:53
поделиться

Попробуйте Блокнот XML от Microsoft MSDN XML, он имеет сравнить XML-файлы. Никакая идея, насколько хороший это.

1
ответ дан Aussie Craig 27 November 2019 в 00:53
поделиться

Вы попробовали examdiff? Конечно, это - все еще технический инструмент, но легко работать с. Это имеет блат и интерфейс отбрасывания для сравнения файлов.

0
ответ дан Christophe Herreman 27 November 2019 в 00:53
поделиться

Я всегда использую kdiff3. Это просто в использовании и может сравнить до 3 файлов. http://kdiff3.sourceforge.net/

0
ответ дан mspoerr 27 November 2019 в 00:53
поделиться

Можно найти Разность XML и Патч, Инструмент GUI (пример кода на MSDN) удовлетворяет потребности немного лучше: это все еще показывает теги, но подчеркивает различие в тексте. Так как Вы получаете код для немного большего усилия, Вы могли адаптировать его более точно в соответствии с Вашими требованиями.

, Хотя образец является относительно пожилым (июль 2004, и имеет его корни в 2002) он обновляет до Visual Studio Express C# 2008 безболезненно. Не пугайтесь при загрузке образец от сайта MSDN, если/когда установщик, который MSI упоминает "SQLXML Bulkload в Примере кода.NET" - это не!

0
ответ дан Dan Blanchard 27 November 2019 в 00:53
поделиться

Или программно или UI, можно использовать XmlDiff, инструменты XmlPatch и библиотеку из MSDN для получения дополнительной информации, как это работает, проверяет руководство.

http://msdn.microsoft.com/en-us/library/aa302294.aspx

0
ответ дан Ray Lu 27 November 2019 в 00:53
поделиться

Кислород XML-редактор имеет лучший набор инструмент разности XML, который я нашел. Существует несколько различных Алгоритмов для сравнения, поэтому если значение по умолчанию не работает на Вас, попробуйте Знающий Синтаксис или некоторые из других Алгоритмов (теперь, я использую версию 8 и не обновил до версии 10 так ymmv, но я сомневаюсь, что разность XML ухудшилась).

0
ответ дан Kris Erickson 27 November 2019 в 00:53
поделиться

Я знаю, что это старая тема, но Project: Merge — это новое приложение для Windows, которое может управлять двусторонним и трехсторонним слиянием и сравнением XML-файлов. (Трехсторонняя операция предполагает наличие двух файлов, которые являются производными от общего базового файла.)

Возможно, вам потребуется указать, как идентифицировать отдельные элементы для идеальной работы с вашими файлами, но это достаточно легко сделать, и вам нужно будет сделать это только один раз.

0
ответ дан 27 November 2019 в 00:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: