0

VB 2008 の StringBuilder で XML リテラルを使用すると問題が発生します。このコードを使用すれば、すべて問題ありません。

Dim html As New System.Text.StringBuilder

html.Append(<html><body></body></html>)

MsgBox("hello")

問題は、コードで生成されたものを HTML でラップしたいということです。

html.Append(<html><body>)

msgbox("nothing happens")

HTML に対応する終了タグがない場合、) を超えて検索し続けるように動作します。

ここで私が間違っていることはありますか?

4

4 に答える 4

2

私は VB の XML リテラルを使用したことはありませんが、多くの XML を構築してきました。StringWriter/XMLTextWriter クラスを使用するのが好きです。

StringBuilder sb = new StringBuilder();
using (StringWriter sw = new StringWriter(sb))
{
    XmlTextWriter xw = new XmlTextWriter(sw);
    xw.WriteStartElement("html");
    xw.WriteStartElement("body");
    xw.WriteRaw(contentExp);
    ...
    wr.WriteEndElement();   // body
    wr.WriteEndElement();   // html
}
// do something with sb.ToString()?
于 2009-05-29T18:18:58.587 に答える
1

答えではありませんが、質問をしてください。文字列ビルダーでXMLリテラルを使用することの価値は何でしょうか。少なくとも私には、それは穀物に反しているように思われます。リテラルを使用してXMLを作成し、文字列が必要な場合は.ToString()メソッド呼び出しを使用して文字列表現を取得します。

于 2009-05-29T18:51:24.963 に答える