我正在尝试更新 XML,但想保留格式{缩进}而不插入 XmlDeclaration 标记。以下是我正在应用的代码段。
let UpdateAndSave (configFileName:string) =
let xmlDoc = XDocument.Load(configFileName)
xmlDoc.XPathEvaluate(@"Product/SomeTag/Attr[@type='Value']") :?> _
|> Seq.cast<XElement>
|> Seq.iter (fun elem -> elem.AddAfterSelf(XElement.Parse("<Risk type=\"123\" methodology=\"Sample\"/>")))
do
let xmlWriterSettings = new XmlWriterSettings()
xmlWriterSettings.OmitXmlDeclaration = true
xmlWriterSettings.Indent = true
using(XmlWriter.Create(configFileName, xmlWriterSettings))(fun xmlFileWriter ->
xmlDoc.Save(xmlFileWriter)
)
configFileName
更新后,xml 格式完全丢失,并且“XmlDeclaration”标签也被插入。我错过了什么吗?