'<'などの文字をxmlファイルに書き込む


105

私がプログラムを始めて以来、Android向けの開発中に、Eclipseでstring.xmlに "<-"、 "" << "などの特殊文字を使用しました。

すべてが1年間問題なく動作しましたが、今日は、いくつかのマイナーな変更を加えたいと思い、xmlファイルの編集を開始しました。

Eclipseがxmlブロックの一部であると信じているため、これらの文字でコンパイルエラーが発生します。

このシンボル「<」をxmlファイルに追加する方法についてのアイデアはありますか?

どうもありがとうございます。


xmlエスケープ<=&lt; 等。?それとももっと複雑なことですか?
Rup

回答:


274

使用する

&lt; ために <

&gt; ために >

&amp; ために &


1
ありがとう...私は私の悪い英語のために「より大きい」を探していたので愚かだ...より大きいで検索した後、私は私の答えを見つけました。
-Waza_Be

2
それらはXML文字エンティティです。XMLは、HTMLがサポートするすべてのエンティティをサポートしているわけではありません。
Tanner Swett

$(ドル記号)の意味は?
バグの発生

25

特殊文字を挿入する別の方法は、Mossガイドに従います。使用されているUnicode定義を使用して、Androidのstrings.xmlに文字を書き込む方法はあります

例:

<string name="item_unknown">\u003c Item Unknown \u003e</string>

文字列に存在する:

< Item Unknown >

まだ有効なトークンとして認識されていないので、&​​LTとGT&アンドロイドAXML上の問題を解決し、<と>するための最良の答え
ジェイス

1
その解決策は、上記の解決策よりもはるかにうまく機能しました。ありがとう!
Jan Radzikowski

3

文字列でHTMLマークアップを使用しているので、この質問に遭遇しました。

Android 文字列リソースのドキュメントを参照すると、「HTMLマークアップを使用したスタイル設定」のセクションで、strings.xmlに&lt;を使用する必要があることがわかります。開始ブラケットの場合は、バックスラッシュと終了ブラケットを安全に使用できます。例えば:

<b>Text</b>

次のように書くことができます:

&lt;b>Text&lt;/b>

あなたのstrings.xmlで。

このHTML文字列をコードで使用する場合は、以下を使用できます。

Html.fromHtml( getResources().getString(R.string.yourHTMLString ) 

出力は太字の文字列になります!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.