Заменить «новую строку» в XSLT - PullRequest
0 голосов
/ 05 сентября 2018

Существует тег XML, как показано ниже.

<inputT>This is line one
  This is line two.
  This is line three.</inputT>

Я хочу создать JSON-файл из этого XML-файла, используя XSLT. И соответствующее поле JSON для вышеуказанного элемента XML должно быть таким, как показано ниже.

"output": "This is line one###This is line two.###This is line three."

Я попытался использовать приведенную ниже команду XSLT для достижения этой цели.

<xsl:text>"output":"</xsl:text>
    <xsl:variable name="inputText" select="inputT"/>
    <xsl:value-of select="replace($inputText, '&#10;', '###')" />
<xsl:text>"</xsl:text>

Но это не дало ожидаемого результата. Как я могу улучшить свой код xslt для достижения своей цели?

1 Ответ

0 голосов
/ 05 сентября 2018
<xsl:template match="@*|node()">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()"/>
        </xsl:copy>
    </xsl:template>
    <xsl:template match="inputT">
        <xsl:text>"output":"</xsl:text> <xsl:if test="matches(.,'\n')">
            <xsl:value-of select="replace(.,'\n    ',' ')"/>
        </xsl:if><xsl:text>"</xsl:text>
    </xsl:template>
You may try like this
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...