質問
VBコード内の特殊文字の読み取りに関するヘルプが必要です。 ASCIIコードChar(34)= <!> quot;正常に動作しますが、Char(60)= <!> lt;およびChar(62)= <!> gt;読まれていません。
マイコード
node.FirstChild.InnerText = Chr(60) & "httpRuntime executionTimeout=" & Chr(34) & "999999" & Chr(34) & " maxRequestLength=" & Chr(34) & "2097151" & Chr(34) & "/" & Chr(62)
ASCIIコードなし
'node.FirstChild.InnerText = "<httpRuntime executionTimeout="999999" maxRequestLength="2097151"/>"
解決
構成ファイルを変更しようとしていますか?試してください:-
node.FirstChild.InnerXml = "<httpRuntime executionTimeout=""999999"" maxRequestLength=""2097151"" />"
Chr marlarkyは不要であることに注意してください。<
および>
がXMLエンティティとしてエンコードされるのを避けようとしましたか?
他のヒント
これはあなたの質問に答えないかもしれませんが、VB.NETで引用文字をエスケープするために 2つの二重引用符を使用できます:
node.FirstChild.InnerText = _
"<httpRuntime executionTimeout=""999999"" maxRequestLength=""2097151"" />"
私は推測しています:あなたは目的にString.Format
メソッドを使用できます:
node.FirstChild.InnerText = _
String.Format( _
"<httpRuntime executionTimeout=""{0}"" maxRequestLength=""{1}"" />", _
timeoutValue.ToString(), reqLenValue.ToString())
<!> quot; seeing <!> quot;結果。私の経験では、これに関する問題は、最初に正しい文字列を取得するのと同じくらいデバッガーで文字列を表示することに関する可能性が高いです。
引用以外にChr(60)
などを使用する必要がある理由が本当にわかりません。コードで<
と>
を使用するとどうなりますか?
I 強くデバッガを使用するのではなく、文字列をコンソールにダンプすることをお勧めします。デバッガは、内容を逐語的に表示するのではなく、コードで文字列を表す方法を表示しようとします。
もちろん、これがXMLである場合、XMLを再度シリアル化して<=>および<=>をエスケープすることを期待します-もう一度、あなたがやろうとしていることに関する詳細情報が役立ちます。絶対的な ideal (IMO)は、問題を示す短いが完全なプログラムです。1つのことを行う小さなコンソールアプリと、代わりに何をしたいのかの説明です。