使用vb.net将XmlTextWriter输出导出为字符串

时间:2012-09-23 15:19:42

标签: xml vb.net string xmltextwriter

我想将XmlTextWriter输出数据导出(转换)为字符串变量。

我的代码如下:

        '' write data as xml
        Dim objX As New XmlTextWriter(Response.OutputStream, Encoding.UTF8)
        objX.WriteStartDocument()
        objX.WriteStartElement("Transaction")
        objX.WriteAttributeString("version", "1.0")
        objX.WriteElementString("id", "12")
        objX.WriteElementString("token", "4534gfdgdfhfst")


        objX.WriteEndElement()

        objX.WriteEndDocument()

        objX.Flush()

        objX.Close()
        Response.End()

现在获取的xml输出如下:38824e4760a1b72f9bd95723a3bdffbd02280010.50en3475990rapids1 month rapidshare0.46587748175.136.184.1539/14/2012d7a1ff2200f9fe7b8b89d12fdc8be8f36293‌​712eS. how to make it as xml tags

1 个答案:

答案 0 :(得分:4)

您已将XmlTextWriter配置为直接写入Response.OutputStream。如果您想将其导出为字符串变量,可以使用StringWriter来写入StringBuilder

Dim sb As New StringBuilder()
Using sw As New StringWriter(sb)
    Using writer = XmlWriter.Create(sw)
        ' write the XML to the writer here
    End Using
End Using
' At this stage the StringBuilder will contain the generated XML.

作为替代方案,您可以写信给MemoryStream

Using stream As New MemoryStream()
    Using writer = XmlWriter.Create(stream)
        ' write the XML to the writer here

        Dim xml As String = Encoding.UTF8.GetString(stream.ToArray())
        ' TODO: do something with the generated XML
    End Using
End Using