Это не дубликат, проблема ist не показывает xml в html, а скорее для отображения xml со случайными стилями для отдельных строк.показать XML в HTML с встроенной таблицей стилей
Я смотрю с тех пор, как я нашел решение для отображения xml на странице html с встроенным css. Фон: входные данные - это xml-файл, что будет сравниваться с другим XML-файлом в java. Сравнение обрабатывается org.custommonkey.xmlunit. Теперь мне нравится преобразовывать xml через xslt и xpathes из результата сравнения xunit.
Входной XML (многоуровневая, но для этого примера очень упрощенной, Поле изменено является примером для всех других полей)
<ROOT>
<MATDETAIL>
<OUTPUT>
<GENERAL>
<CREATED_ON/>
<CREATED_BY>ORIGINAL USER</CREATED_BY>
<LAST_CHNGE/>
<CHANGED_BY>NEW USER</CHANGED_BY>
</GENERAL>
<RETURN>
<TYPE>S</TYPE>
<MESSAGE/>
<LOG_NO/>
<LOG_MSG_NO>000000</LOG_MSG_NO>
</RETURN>
</OUTPUT>
</MATDETAIL>
</ROOT>
XUnit Diff Результат XPath /ROOT [1]/MATDETAIL [1]/OUTPUT [1]/ОБЩИЙ [1]/CHANGED_BY [1]/текст() [1]
Теперь я буду perfom в перевод через XSLT (уже существующий)
мой XSL показывает, как этот
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*" mode="unescape"/>
</xsl:copy>
</xsl:template>
<xsl:template match="/ROOT[1]/MATDETAIL[1]/OUTPUT[1]/GENERAL[1]/CHANGED_BY[1]">
<xsl:element name = "span">
<xsl:attribute name="style">font-weight:bold; color:red </xsl:attribute>
<xsl:copy>
<xsl:value-of select = "current()" />
</xsl:copy>
<xsl:text><== Expected: dasda</xsl:text>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
что даст мне этот результат
<ROOT>
<MATDETAIL>
<OUTPUT>
<GENERAL>
<CREATED_ON/>
<CREATED_BY>ORIGINAL USER</CREATED_BY>
<LAST_CHNGE/>
<span style="font-weight:bold; color:red "><CHANGED_BY>NEW USER</CHANGED_BY><== Expected: ORIGINAL USER</span>
</GENERAL>
<RETURN>
<TYPE>S</TYPE>
<MESSAGE/>
<LOG_NO/>
<LOG_MSG_NO>000000</LOG_MSG_NO>
</RETURN>
</OUTPUT>
</MATDETAIL>
</ROOT>
Но я не смог показать этот XML в HTML правильно (с таблицами стилей). Либо я не получаю никаких тегов, поэтому, чтобы увидеть xml strcuture очень сложно также я получаю структуру xml, но без таблиц стилей.
Мне нравится показывать результат по сравнению с xunit двух файлов в веб-сервисе, и это тоже цветное, поэтому вы можете легко увидеть, какие элементы имеют изменения или являются неправильными.
Проблема заключается в том, чтобы показать полный xml +, и это, по-видимому, является реальной проблемой для окраски записей с помощью таблиц стилей. Я могу показать xml, но без встроенных таблиц стилей, или я могу показать стилизованный текст, но не тот и другой.
Я уже пытался заменить lt и gt внутри xslt, но не смог. Я попытался заменить lt и gt в rseult через пример java. поэтому каждый lt и gt являются html закодированными тегами. но результат очень уродливый. Мой коллега имел в виду, что мы никак не можем его использовать. Я попытался создать xml через css> definiton за тег. Но структура и поля полны динамически, поэтому я не могу определить css для каждого тега или поля. С другой стороны, каждое поле может быть правильным или неправильным, зависит также от файла xml, как для сравнения. Таким образом, поле изменено на первое сравнение, но при другом сравнении его неправильный
К сожалению, альтернативные варианты реализации не являются вариантом. Я должен сделать это как-то со средствами, доступными мне. (Java, XML & XSL, JS, HTML, CSS).
Я надеюсь получить хорошие идеи, чтобы растворить это.
Я хотел бы поблагодарить вас заранее.
в спешке я забыл сказать спасибо заранее –
См раствора при http://stackoverflow.com/a/40283800/6805256 – uL1