7

これは XML ドキュメントの問題です。

<![CDATA[<b>Title</b> 
       Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
       tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
       quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
       consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
       cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
       proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
]]>

このテキストに CDATA 式を挿入する必要があります。どうやってするの ?(このようにすると、ドキュメントの評価中にエラーが表示されます)

<![CDATA[]]]]>Expression<![CDATA[>]]>
4

3 に答える 3

9

@Oded は、上記のコメントに参照の実際の回答を投稿しました...人々が見つけられるように、回答として追加したいと思います。
彼/彼女が追加した場合、これを削除できます。

はい、これを行う必要があることを本当に確認することが重要です。「CDATA」は、ネストどころか、そもそも誤用されることがよくあります。しかし、いくつかのファンキーな機会にはそうします。

-

基本的な計画は、ネストされた CDATA の終わりを別の CDATA に埋め込むことです。内側を残すために、外側の CDATA の解釈で削除されます。

これは、上の @Oded のウィキペディアの記事にあります
en.wikipedia.org/wiki/CDATA#Nesting

アクションは、内部のネストされたものを置き換えることです

]]>

]]]]><![CDATA[>
于 2014-04-14T19:54:02.837 に答える
2

それが私に起こったシナリオをあなたに与えることができます。.dwp (CDATA にラップされたコンテンツを含む) としてエクスポートされた SharePoint コンテンツ エディター Web パーツがあり、これを Visual Studio 展開パッケージに挿入する必要がありました。Elements.xml ファイル内のこれのターゲット スポットもCDATA。XML の XML の HTML にすぎないので少しばかげていますが、SharePoint であるため、ばかげているのが通常の状態です。

したがって、これが他の誰かをこのページに導く場合に備えて、私が思いついた解決策を要約すると思いました:

1) 内部 CDATA を XML エンコードして、内部 CDATA を必要としないようにします。常に実用的であるとは限りませんが、私の場合はうまくいきました。

2) この場合、コンテンツ エディター Web パーツのコンテンツを別のファイルに移動し、コンテンツ エディターをその Web パーツ ファイルにリンクする別のオプションがありました。これは、戦略アプローチの再考に該当すると思います。

3) CDATA 全体を 3 つの連続する CDATA に分割するという上記の考え方。これは賢明なアイデアであり、一般的なケースでは機能しますが、私の場合はうまくいくかどうかはわかりません。これは、コンテンツがデプロイヤーとページ マネージャーの 2 つの異なるプロセスによって渡されるためです。デプロイヤは、外側の CDATA のコンテンツを取得し、それ全体をページ マネージャーに渡す必要がありました。ページ マネージャーは、CDATA のコンテンツを単一の要素値として取得します。3 CDATA のアプローチでは、デプロイヤはコンテンツ全体を単一の XML 構造として扱うため、HTML は実際には正しく解釈されません。(それが理にかなっていることを願っています)。

于 2013-11-07T20:56:14.450 に答える