XMLタグでスペースとタブを表す方法。それらを表す特別な文字はありますか。
XMLドキュメントで実際のスペースまたはタブを直接使用できると思いますが、テキストプロセッサが混乱しないようにそれらを表す特殊文字を探している場合は、次のようになります。
space =  
tab = 	
私のために働く
\n = 

\r = 
\t = 	
space =  
XMLでそれらを使用する方法の例を次に示します
<KeyWord name="hello	" />
一般的なよくある質問に対する新しい拡張回答...
概要:空白文字は、XML要素または属性名にnotを許可します。
空白に関連する主なUnicodeコードポイントは次のとおりです。
#x0009
文字の表#x0020
スペース#x000A
LINE FEED(LF)#x000D
キャリッジリターン(CR)#x00A0
NO-BREAKスペース[#x2002-#x200A]
EN SPACE〜HAIR SPACE#x205F
MEDIUM MATHMATICAL SPACE#x3000
IDEOGRAPHIC SPACEなしこれらのコードポイントの XML名のW3C XML BNF で許可されています。
NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040] Name ::= NameStartChar (NameChar)*
概要:空白文字areは、もちろん、XMLコンテンツで許可されています。
上記のすべての空白コードポイントは、XMLコンテンツで Char
のW3C XML BNF によって許可されています。
Char ::= #x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF] /* any Unicode character, excluding the surrogate blocks, FFFE, and FFFF. */
Unicodeコードポイントは、 文字参照 として挿入できます。両方の10進数&#
decimal;
および16進数&#x
hex;
フォームがサポートされています。
	
or 	
文字の集計

or
ラインフィード(LF)
or
キャリッジリターン(CR) 
or  
[〜#〜] space [〜#〜] 
or  
NO-BREAK SPACEXML要素のtag(つまり、名前)にスペースとタブを含めることはできません。仕様を参照してください: http:// www .w3.org/TR/REC-xml /#NT-STag 。英数字のほかに、コロン、アンダースコア、ダッシュ、およびドット文字を名前に使用でき、最初の文字をダッシュまたはドットにすることはできません。特定のユニコード文字も許可されていますが、実際には二重チェックは行われません。これらは国際的な文字だと思います。
複数の空白文字以外の空白文字が属性値から具体的に削除される問題について話している場合、はい、#9などの文字参照としてエンコードします。それを修正します。
私にとっては、CDATA xml要素内のスペースの16進値をエンコードする必要がありますので、htm webgaeのようにそれを解析して加算し、ブラウザで表示するとスペースが表示されるだけです! (上記のアイデアと回答はすべて有用です)
<my-xml-element><![CDATA[ ]]></my-xml-element>
不正なXMLタグ名文字は、Unicode UCS-2を使用してエンコードできます。これは非常にうまく機能します。私はそれを使用して、JSONに変換されるXMLを作成しています(JPathはXPathと比較して弱いです)。 スペース、(、)文字の処理に注意してください。Unicode UCS-2コードチャート: http://www.columbia.edu/ Kermit/ucs2.html
tag.Name = tag.Name.Replace(" ", "_x0020_");
tag.Name = tag.Name.Replace("(", "_x0028_");
tag.Name = tag.Name.Replace(")", "_x0029_");
XML:
<Internal_x0020_Chargeback_x0020_ID>{CHARGEBACKCODE}</Internal_x0020_Chargeback_x0020_ID>
<Bill_x0020_To>{CHARGEBACKCODE}</Bill_x0020_To>
<Operator_x0020_or_x0020_Directly_x0020_Responsible_x0020_Individual_x0020__x0028_DRI_x0029_>[email protected]</Operator_x0020_or_x0020_Directly_x0020_Responsible_x0020_Individual_x0020__x0028_DRI_x0029_>
json.net経由でjsonに変換:
"Internal Chargeback ID": "{CHARGEBACKCODE}",
"Bill To": "{CHARGEBACKCODE}",
"Operator or Directly Responsible Individual (DRI)": "[email protected]",
私は同じ問題を抱えていて、上記の回答のどれも問題を解決しなかったので、非常に簡単なことを試しました:strings.xml
\n\t
完全な文字列は次のようになります<string name="premium_features_listing_3">- Automatische Aktualisierung der\n\tDatenbank</string>
結果:
Automatische Aktualisierung der
ダテンバンク
(間に余分な行はありません)
たぶん他の人を助けるでしょう。よろしく