0

我想将 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

4

1 回答 1

5

您已将 配置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
于 2012-09-23T15:21:47.860 回答