88

XML 内のコードに新しい改行/改行を追加しようとしましたが、成功しませんでした。

私はこれまでに試しました:

<br />
<br> 



ここに私が取り組んでいるコードのサンプルがあります。
コード内のどこにブレークがあるかを示すために" " を含めました。

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="dummy.xsl"?>
  <item>
     <summary>Tootsie roll tiramisu macaroon wafer carrot cake.       
               &#xA; Danish topping sugar plum tart bonbon caramels cake.
     </summary>
  </item>
4

14 に答える 14

103

改行 XML

XMLで

  1. キャリッジ リターン:&#xD;
  2. 改行:&#xA;

または@dj_segfaultが提案したように(彼の回答を参照)CDATAで試してください。

 <![CDATA[Tootsie roll tiramisu macaroon wafer carrot cake.                       
            Danish topping sugar plum tart bonbon caramels cake.]]>
于 2012-06-06T16:24:38.363 に答える
44

凝ったものは何も必要ありません: 以下には新しい行 (実際には 2 行) が含まれています。

<summary>Tootsie roll tiramisu macaroon wafer carrot cake.       
         Danish topping sugar plum tart bonbon caramels cake.
</summary>

問題は、なぜこの改行が望ましい効果を持たないのかということです。それは、XML の受信者が実際にそれを使って何をしているのかという問題です。たとえば、受信者がそれを HTML に変換し、その HTML がブラウザーに表示されている場合、改行はブラウザーによってスペースに変換されます。処理パイプラインについて教えてください。

于 2012-06-06T22:46:49.647 に答える
14

おそらく Windows を使用しているので、改行はCR + LF(キャリッジ リターン + ライン フィード) です。したがって、解決策は次のようになります。

<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="dummy.xsl"?>
  <item>
     <summary>Tootsie roll tiramisu macaroon wafer carrot cake.&#13;&#10;Danish topping sugar plum tart bonbon caramels cake.
     </summary>
  </item>

Linux の場合は のみLF、Mac OS の場合は のみCRです。

問題の Linux の方法が示されました。

于 2013-10-23T13:31:16.270 に答える
5

空白を保持するには、おそらくCDATA ブロックに入れる必要があります

<?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="dummy.xsl"?>   
   <item>      
      <summary>
         <![CDATA[Tootsie roll tiramisu macaroon wafer carrot cake.                       
            Danish topping sugar plum tart bonbon caramels cake.]]>
      </summary>   
   </item> 
于 2012-06-06T15:47:06.570 に答える
1

CDATAを使用せずに試してください

<xsl:value-of select="'&#xA;'" />

二重引用符と単一引用符に注意してください。

これは、xml 別名テキストを作成していない場合に特に便利です。<xsl:output method="text" />

于 2012-12-26T22:55:04.587 に答える
1

改行を行う最も簡単な方法は次のとおり
ですe{display:block}

<e></e>
于 2014-01-09T17:17:11.473 に答える
0

XMLで改行を行う方法は、使用することです&#xA;

XMLレイアウトを設計していて、TextViewを使用していたときに、Eclipse IDEでうまくいきました。

于 2014-12-02T03:16:24.567 に答える
0

固定長フィールド形式を開発しなければならなかったときに同じ問題がありました。

通常、バイナリ ファイルには行区切りを使用しませんが、何らかの理由で、顧客がレコード間の区切りとして改行を追加したいと考えていました。彼らが設定した

< record_delimiter value="\n"/ >

しかし、レコードに 2 つの文字が追加されたため、これは機能しませんでした:
< レコード 1 > \n < レコード 2 > \n.... など。

次の変更を行いましたが、うまくいきました。

< レコード区切り値="\n"/> => < レコード区切り値=" "/ >

アンマーシャリング後、Java は改行文字として解釈します。

于 2015-08-20T20:07:31.443 に答える
-1

Enterキーを押すだけで休憩できます

<![CDATA[this is
my text.]]>
于 2015-05-20T05:57:02.263 に答える