StringBuilderとXMLリテラル通報
-
06-09-2019 - |
質問
私はこのコードを使用する場合はすべてがうまくある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は、対応する終了タグを持っていない場合は、、それは超えたような働き)と、それを探し続けています。
私はここで間違ってやっている何かがありますか?
解決
あなたのXMLリテラルの文(あなたのケースでは、あなたのタグを閉じていない)で、適切なXMLを形成していないので、
、あなたはここにXMLリテラルを使用することはできません。あなたのいずれかは、あなたのXMLリテラルが適切なXMLなる、あるいは文字列としてそれらを使用するようにコードを変換する必要があります。したがってます:
html.Append("<html><body>")
msgbox("nothing happens")
他のヒント
私は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()?
明白な予感は、XMLリテラルは、整形式XMLを必要とすることになります。あなたは、物事をラップしたい場合は、中...
のように埋め込み式にドロップしますhtml.Append(<html><body><%= contentExp %></body></html>)
はない答えが、あなたに戻って質問。何が文字列ビルダでXMLリテラルを使用しての値になります。それは穀物に反することを、少なくとも私には思えます。リテラルを使用してXMLを作成し、ちょうどあなたが文字列を必要とする場合.ToString()メソッドの呼び出しを使用して、その文字列表現を取得します。
所属していません StackOverflow