XMLタグでスペースとタブを表現する方法。何か特別な文字があるのでしょうか?
XML文書では実際のスペースやタブを直接使うこともできると思いますが、テキストプロセッサが混乱しないようにそれらを表す特殊文字をお探しなら、それはそれです:
space = tab =
私のために働きます。
\n = \r = \t = space =
XMLでそれらを使用する方法の例を次に示します。
古い、一般的に尋ねられる質問に対する新しい拡張回答。..< / sup>。
要約: Whitespace文字は、XML要素または属性名では not 許可されていません。。
空白に関連する主なUnicodeコードポイントは次のとおりです。
-#x0009キャラクター集計。 -#x0020スペース。 -#x000A LINE FEED(LF)。 -#x000Dキャリッジリターン(CR)。 -#x00A0 NO-BREAK SPACE。 -[#x2002-#x200A]ヘアスペースを介したENスペース。 -#x205F中型空間。 -#x3000 IDEOGRAPHIC SPACE。
#x0009
#x0020
#x000A
#x000D
#x00A0
[#x2002-#x200A]
#x205F
#x3000
*これらのコードポイントのどれも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]。 名前::= NameStartChar(NameChar)*。
---。
要約: * Whitespace文字*はもちろん、XMLコンテンツで許可されています。。
上記のすべての空白コードポイントは、W3C XML BNF for Char:によってXMLコンテンツで許可されています。
Char
チャー::=#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]。 / 代理ブロック、FFFE、FFFFを除く、Unicode文字。 /。
Unicodeコードポイントは、文字参照として挿入できます。 10進数の &# decimal;と16進数の &#x hex;の両方の形式がサポートされています。
&#
;
&#x
- Hexadecimal Decimal Unicode Name 。 -` #xA0; & #xA0;& #xA0; #xA0; #xA0; #xA ; - #xA0; & #xA0 ;& #xA0; #xA0; #xA ; #xA - #xA0; & #xA0 ;& #xA0; #xA0; #xA ; #xA ; - or& #xA0; & #xA0 ;& #xA0; #xA 0; #xA ; 0 - or `& #xA0 ;& #xA0; #xA0; [NO-BREAK]
` #xA0;
& #xA0;& #xA0; #xA0; #xA0; #xA ; -
#xA0;
& #xA0 ;& #xA0; #xA0; #xA ; #xA -
& #xA0 ;& #xA0; #xA0; #xA ; #xA ; -
or& #xA0;
& #xA0 ;& #xA0; #xA 0; #xA ; 0 -
or
XML要素のタグ(すなわち名前)には、スペースやタブを使用することはできません。の仕様を参照してください。英数字の他に、コロン、アンダースコア、ダッシュ、ドット文字が名前に使用でき、最初の文字をダッシュやドットにすることはできません。また、最初の文字をダッシュやドットにすることはできません。ある種のユニコード文字も許可されています。
もしあなたが、属性値から複数の空白文字やスペース以外の空白文字が取り除かれる問題について話しているのであれば、そうです、それらを のような文字参照としてエンコードすれば解決します。
私にとって、それを機能させるには、CDATA xml要素内のスペースの16進値をエンコードする必要があります。これにより、解析後の合計が になります。 htm webgae&ブラウザで表示すると、スペースが表示されるだけです。!. (上記のアイデアと回答はすべて役に立ちます)。
違法な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:
{CHARGEBACKCODE} {CHARGEBACKCODE} zzz@yyy.gov
json.netを介してjsonに変換されます。
"Internal Chargeback ID": "{CHARGEBACKCODE}", "Bill To": "{CHARGEBACKCODE}", "Operator or Directly Responsible Individual (DRI)": "xxx@yyy.gov",
私は同じ問題を抱えていましたが、上記の回答のどれも問題を解決しなかったので、非常に簡単なことを試しました。「strings.xml」 \ n \ tに入れました。
\ n \ t
完全な文字列はこのように見えます < string name = "premium_features_listing_3">-Automatische Aktualisierung der \ n \ tDatenbank< / string>。
< string name = "premium_features_listing_3">-Automatische Aktualisierung der \ n \ tDatenbank< / string>
結果:
-Automatische Aktualisierung der。
ダテンバンク。
(間に余分な行はありません)。
多分それは他の人を助けるでしょう。 よろしく。
XML文書では実際のスペースやタブを直接使うこともできると思いますが、テキストプロセッサが混乱しないようにそれらを表す特殊文字をお探しなら、それはそれです:
私のために働きます。
XMLでそれらを使用する方法の例を次に示します。
古い、一般的に尋ねられる質問に対する新しい拡張回答。..< / sup>。
要約: Whitespace文字は、XML要素または属性名では not 許可されていません。。
空白に関連する主なUnicodeコードポイントは次のとおりです。
-
#x0009
キャラクター集計。 -#x0020
スペース。 -#x000A
LINE FEED(LF)。 -#x000D
キャリッジリターン(CR)。 -#x00A0
NO-BREAK SPACE。 -[#x2002-#x200A]
ヘアスペースを介したENスペース。 -#x205F
中型空間。 -#x3000
IDEOGRAPHIC SPACE。*これらのコードポイントのどれもXML名のW3C XML BNFによって許可されていません。
---。
要約: * Whitespace文字*はもちろん、XMLコンテンツで許可されています。。
上記のすべての空白コードポイントは、W3C XML BNF for
Char
:によってXMLコンテンツで許可されています。Unicodeコードポイントは、文字参照として挿入できます。 10進数の
&#
decimal;
と16進数の&#x
hex;
の両方の形式がサポートされています。- Hexadecimal Decimal Unicode Name 。 -
` #xA0;
& #xA0;& #xA0; #xA0; #xA0; #xA ; -
#xA0;
& #xA0 ;& #xA0; #xA0; #xA ; #xA -
#xA0;
& #xA0 ;& #xA0; #xA0; #xA ; #xA ; -
or& #xA0;
& #xA0 ;& #xA0; #xA 0; #xA ; 0 -
or
`& #xA0 ;& #xA0; #xA0; [NO-BREAK]XML要素のタグ(すなわち名前)には、スペースやタブを使用することはできません。の仕様を参照してください。英数字の他に、コロン、アンダースコア、ダッシュ、ドット文字が名前に使用でき、最初の文字をダッシュやドットにすることはできません。また、最初の文字をダッシュやドットにすることはできません。ある種のユニコード文字も許可されています。
もしあなたが、属性値から複数の空白文字やスペース以外の空白文字が取り除かれる問題について話しているのであれば、そうです、それらを のような文字参照としてエンコードすれば解決します。
私にとって、それを機能させるには、CDATA xml要素内のスペースの16進値をエンコードする必要があります。これにより、解析後の合計が になります。 htm webgae&ブラウザで表示すると、スペースが表示されるだけです。!. (上記のアイデアと回答はすべて役に立ちます)。
違法なXMLタグ名文字は、Unicode UCS-2を使用してエンコードできます。 これは非常にうまく機能します。 jsonに変換されるXMLを作成するために使用しています(JPathはXPathに比べて弱いです)。 スペースの処理に注意してください(、)文字。。 Unicode UCS-2コードチャート:http://www.columbia.edu/kermit/ucs2.html。
XML:
json.netを介してjsonに変換されます。
私は同じ問題を抱えていましたが、上記の回答のどれも問題を解決しなかったので、非常に簡単なことを試しました。「strings.xml」
\ n \ t
に入れました。完全な文字列はこのように見えます
< string name = "premium_features_listing_3">-Automatische Aktualisierung der \ n \ tDatenbank< / string>
。結果:
-Automatische Aktualisierung der。
(間に余分な行はありません)。
多分それは他の人を助けるでしょう。 よろしく。