質問

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つのことを行う小さなコンソールアプリと、代わりに何をしたいのかの説明です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top