2009-03-09 23 views
1

私のVBコード内で特殊文字を読むのに助けが必要です。 ASCIIコード文字をASCIIコードに変換する

'node.FirstChild.InnerText = "<httpRuntime executionTimeout="999999" maxRequestLength="2097151"/>" 
なしASCIIコードのChar(34)= "正常に動作しますが、CHAR(60)= <とCHAR(62)=>が読み込まれていない。

マイコード

node.FirstChild.InnerText = Chr(60) & "httpRuntime executionTimeout=" & Chr(34) & "999999" & Chr(34) & " maxRequestLength=" & Chr(34) & "2097151" & Chr(34) & "/" & Chr(62) 

+0

InnerTextをここで少し乱用していませんか? Afaikはテキストを設定するためのもので、マークアップを設定しています。最初にInnerXmlを使うべきではありませんか?とにかく、さまざまな文字列や文字の連結としてこれを書く必要があるのはなぜですか? – Joey

+0

2番目のコードスニペットを見ると、倍精度引用符をエスケープする必要があると思われますか?私の答えは以下を参照してください。 – splattne

答えて

1

設定ファイルを変更しようとしていますか?試してみてください: -

node.FirstChild.InnerXml = "<httpRuntime executionTimeout=""999999"" maxRequestLength=""2097151"" />" 

注すべてのChr marlarkyが不要であることを、あなたは<> XMLエンティティとしてエンコードさを避けるためにしようとしていましたか?

+0

InnerXMLとInnerTextが機能しました。 –

0

私は、どのように結果を "見ている"かについてより多くの情報を提供する必要があります。私の経験上、この問題は、まず最初に正しい文字列を取得しているとデバッガの文字列を見ることになります。

引用符以外にChr(60)などを使う必要があるのは本当にわかりません。コードに<>を使用するとどうなりますか?

私は強くはあなたではなく、デバッガを使用するよりも、コンソールに出て、文字列をダンプ示唆- デバッガは、むしろそのままあなたの内容を示すよりも、コード内の文字列を表すことができる方法をお見せしようとします。

もちろん、これがXMLの場合は、XMLをもう一度シリアル化して、<>をエスケープすることになります。もう一度、何をしようとしているかについての詳しい情報が役に立ちます。 の理想的な(IMO)は、問題を示す短くて完全なプログラムです。小さなコンソールアプリケーションと、あなたが何をしたいのかの説明です。

+0

文書でInnerTextがエスケープすると書かれています< and >それが出会ったのは、それがそれのためであるからです:) – Joey

+0

しかし、あなたはまだそれとまったく同じ文字列を渡しているので、これはあなたを助けるつもりはありません... –

+0

確かに、質問者が本当に何かを理解しようとしていますその後は... –

1

多分これは、あなたの質問に答えていませんが、あなたは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()) 
関連する問題