从 C# 中的 XML 编写器创建 XML 元素对象
我正在用 C# 编写 Windows 服务。 我有一个 XmlWriter,它包含 XSLT 转换的输出。 我需要将 XML 放入 XMLElement
对象中以传递给 Web 服务。
做这个的最好方式是什么?
I'm writing a Windows service in C#. I've got an XmlWriter
which is contains the output of an XSLT transformation. I need to get the XML into an XMLElement
object to pass to a web service.
What is the best way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您不需要中间字符串,可以创建一个直接写入 XmlNode 的 XmlWriter:
并将 xw 作为转换的输出传递。
注意。 xsl:output 的某些部分将被忽略(例如编码),因为 XmlDocument 将使用其自己的设置。
You do not need an intermediate string, you can create an XmlWriter that writes directly into an XmlNode:
and pass xw as the output of the transform.
NB. Some parts of the xsl:output will be ignored (e.g. encoding) because the XmlDocument will use its own settings.
嗯,
XmlWriter
不包含输出; 通常,您有一个作为转储位置的支持对象(可能是 StringBuilder 或 MemoryStream)。 在这种情况下,StringBuilder
可能是最有效的......也许类似于:Well, an
XmlWriter
doesn't contain the output; typically, you have a backing object (maybe aStringBuilder
orMemoryStream
) that is the dumping place. In this case,StringBuilder
is probably the most efficient... perhaps something like:如果您提供一个编写器,您就提供了一个存储库,其中输出生成器正在传输数据,因此 Richard 的重播效果很好,您实际上不需要字符串生成器将数据从读取器发送到 XmlDocument!
If you provide a writer, you provide a repository where an output generator is transferring data, thus the replay of Richard is good, you don't really need a string builder to send data from a reader to an XmlDocument!