我有在VB 2008使用XML文本与一个StringBuilder如果我使用此代码一切都很好的问题。

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()方法调用,如果你需要一个字符串只得到它的字符串表示。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top