2009-03-09 30 views
1

VB kodumdaki özel karakterleri okuma konusunda yardıma ihtiyacınız var. ASCII kod Char (34) = "çalışıyor ama Char (60) = < ve Char (62) => okunduğunu değildir.Karakterleri ASCII koduna dönüştürme

Benim Kod

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

ASCII Code olmadan

'node.FirstChild.InnerText = "<httpRuntime executionTimeout="999999" maxRequestLength="2097151"/>" 
+0

InnerText'i burada biraz yanlış mı kullanmıyorsunuz? Metin ayarlamak için Afaik ve işaretlemeyi ayarlıyorsun. InnerXml'i ilk etapta kullanmamalısın mı? Ve bunu neden çeşitli dizeleri ve karakterleri birleştirme olarak yazmanız gerekiyor? İkinci yöntem de işe yarar (eğer "siz" den kaçarsanız) – Joey

+0

2. kod snippet'ine baktığımda, sanırım ikililerinden alıntılar kaçmak zorunda kalıyorsunuz? Cevabımı aşağıda görüyorum. – splattne

cevap

1

Bir Config dosyasını değiştirmeye mi çalışıyorsunuz? Deneyin: -

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

Not Chr marlarky gereksiz olduğunu tüm sen < ve > XML varlıklarına olarak kodlanmış önlemek çalışıyorlardı?

+0

InnerXML ve InnerText çalıştı. –

0

Sonuçları "nasıl gördüğünüz" hakkında daha fazla bilgi vermeniz gerekir. Deneyimlerimde, bununla ilgili sorunların, hata ayıklayıcısındaki dizeleri görüntülemenin ilk sırada doğru dizeleri almasıyla ilgili olması muhtemeldir.

Chr(60) vs. niçin tırnaklar dışında neden kullanmanız gerektiğini anlamıyorum. Kodunuzda < ve >'u kullanırken ne olur?

şiddetle yerine ayıklayıcısını kullanmak yerine konsola dışarı dize dökümü önermek - ayıklayıcı Bunun yerine aynen size içeriğini göstermek yerine, kod dizesi temsil edebilir nasıl göstermeye çalışır.

Elbette, eğer bu XML ise, < ve >'dan kaçmak için XML'in tekrar serileştirilmesini beklerdim - yine de, yapmaya çalıştığınız şey hakkında daha fazla bilgi yardımcı olabilir. Mutlak ideal (IMO) sorunu gösteren kısa ama eksiksiz bir program olacaktır - tek bir şey yapan küçük bir konsol uygulaması ve bunun yerine ne yapmak istediğinizin bir açıklaması.

+0

Belgeler, InnerText'in herhangi bir < and >'dan kaçtığını söylüyor. Bu karşılaştığından beri, bu ne için olduğunu :) – Joey

+0

Ama yine de tam olarak aynı dizgeyi geçiriyorsunuz, bu yüzden size yardımcı olmayacak ... –

+0

Gerçekten de soru sorucunun ne olduğunu anlamaya çalışıyorum Buradan sonra ... –

1

Belki bu sorunuza cevap vermez, ancak vb.NET'te tırnak karakteri kaçmak için iki çift tırnak kullanabilirsiniz: Eğer String.Format kullanabilirsiniz: sadece tahmin ediyorum

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

Sizin için yöntem:

node.FirstChild.InnerText = _ 
    String.Format(_ 
     "<httpRuntime executionTimeout=""{0}"" maxRequestLength=""{1}"" />", _ 
     timeoutValue.ToString(), reqLenValue.ToString()) 
İlgili konular