私は XML ファイルを作成する必要がありますが、パートナーはヘッダーにかなり固執しています。どうやら、ヘッダーはまさにこれでなければなりません:
<?xml version="1.0"?>
しかし、XML ファイルを作成するたびに、次のような無関係なプロパティが取得されます。
<?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 が表示されなくなりました。ただし、エンコーディングの追加を停止することはできません。何か案は?