我需要制作一个
XML文件 – 合作伙伴对标题很贴切.显然,标题必须是这样的:
<?xml version="1.0"?>
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
我的黑客想要停止使用XMLWriter来制作文件,以便我可以更好地控制标题; “没问题,我只是编写一个循环,将自己的XML标记作为StreamWriter或其他东西,忘记这个XMLWriter对象……”但我必须承认,到目前为止,XMLWriter的使用相当优雅;肯定有一些东西,我可以更改XMLWriterSettings对象,说“停止将自定义属性放入XML标题”,对吧?
这是相关的VB代码:
Dim settings As New XmlWriterSettings() settings.Indent = True settings.IndentChars = " " settings.NewLineChars = "\n" Using writer As XmlWriter = XmlWriter.Create(strFileName,settings) writer.WriteStartDocument(True) For Each kvp As keyvaluePair(Of String,String) In dictArguments Dim key As String = kvp.Key Dim value As String = kvp.Value writer.WriteStartElement(key) writer.WriteString(value) writer.WriteEndElement() Next End Using
工作完美;但我找不到控制标题的方法.我当然可以找到一种完全删除它的方法,但这不是我们想要做的.
编辑:谢谢你的帮助;到目前为止,一旦我们删除了WriteStartDocument,它现在不再显示standalone = yes.但我不能让它停止添加编码.有任何想法吗?
解决方法
这样做的一种方法是使用WriteProcessingInstruction方法自己控制初始处理指令:
Dim settings As New XmlWriterSettings() settings.Indent = True settings.IndentChars = " " Using writer As XmlWriter = XmlWriter.Create(strFileName,settings) writer.WriteProcessingInstruction("xml","version='1.0'") writer.WriteStartElement("root") For Each kvp As keyvaluePair(Of String,String) In dictArguments Dim key As String = kvp.Key Dim value As String = kvp.Value writer.WriteStartElement(key) writer.WriteString(value) writer.WriteEndElement() Next writer.WriteEndElement() End Using
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。