0

jsonを生成するXSLTを作成する必要があります。

問題は、出力で<>に置き換える必要のあるシンボルがxmlにあることです&lt;&gt;しかし、disable-output-escaping = "yes"は改行しますが、この改行を削除できますか?

XML:

<item id="166" group="0">
<name>Some Titile</name>
<text>&lt;p&gt;A dizzying array of deep, robust color, the Hugs and Kisses bouquet contains one dozen tulips and one dozen iris, fresh from the fields. It's an always-impressive bouquet perfect for a &quot;dinner for two,&quot; a special someone's birthday, or anytime you want to make someone's heart race.&lt;/p&gt;</text>
</item>

必要な出力

{
    "name": "Some Title",
    "text": "<p>A dizzying array of deep, robust color, the Hugs and Kisses bouquet contains one dozen tulips and one dozen iris, fresh from the fields. It's an always-impressive bouquet perfect for a &quot;dinner for two,&quot; a special someone's birthday, or anytime you want to make someone's heart race.</p>;"
}

XSLT

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text" encoding="UTF-8"/>

  <xsl:template match="item">
    {
    "name": "<xsl:value-of select="name" />",
    "text": "<xsl:value-of select="text" />"
    }
  </xsl:template>
</xsl:stylesheet>

出力

{
    "name": "Some Title",
    "text": "&lt;p&gt;A dizzying array of deep, robust color, the Hugs and Kisses bouquet contains one dozen tulips and one dozen iris, fresh from the fields. It's an always-impressive bouquet perfect for a &quot;dinner for two,&quot; a special someone's birthday, or anytime you want to make someone's heart race&lt;./p&gt;;"
}
4

2 に答える 2

0

JSON を生成する場合は、disable-output-escaping を使用せず、テキスト出力メソッドを使用します。

<xsl:output method="text"/>

テキスト出力方法ではエスケープがないため、無効にする必要はありません。

何が問題を引き起こしているのかわからないため、これで改行の問題が解決するかどうかはわかりません。

于 2012-07-20T11:03:57.097 に答える
0

JavaScript コードと JSON コードをそれぞれ生成する場合は、単純<xsl:output method="text"/>に を使用します。そうすれば、変換結果の文字はエスケープされず、disable-output-escaping を使用する必要はありません。

一方、disable-output-escaping で改行が発生する理由がわかりません。まだ問題がある場合は、XML 入力、XSLT コード、必要な結果、取得した結果などの詳細を表示することを検討してください。および使用する XSLT プロセッサ。

于 2012-07-20T11:01:48.007 に答える