You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用C# XmlWriter创建XML时,如何生成大写格式的XML起始内容?

如何生成大写格式的XML声明与元素标签?

默认的XmlWriter确实没有提供直接配置生成大写XML声明和标签的选项——毕竟XML规范里,声明的关键字(比如version、encoding)本身是大小写不敏感的,标签名的大小写则由开发者控制。不过如果你的业务场景强制要求大写格式,我们可以通过两个小技巧实现:


1. 手动生成大写的XML声明

XmlWriter.WriteStartDocument()方法会固定输出小写的声明内容,所以我们可以用WriteProcessingInstruction()方法手动写入大写版本的XML声明:

XmlWriterSettings settings = new XmlWriterSettings { Indent = true, Encoding = Encoding.Unicode };
string xmlPath = @"c:\file.xml";

using (XmlWriter xmlWriter = XmlWriter.Create(xmlPath, settings))
{
    // 手动写入大写的XML声明
    xmlWriter.WriteProcessingInstruction("XML", "VERSION=\"1.0\" ENCODING=\"utf-16\" STANDALONE=\"no\"");
    
    // 写入大写的根元素及子元素
    xmlWriter.WriteStartElement("CP"); // 大写标签名
    
    xmlWriter.WriteStartElement("USER");
    xmlWriter.WriteString("NA");
    xmlWriter.WriteEndElement();
    
    xmlWriter.WriteStartElement("PASSWORD");
    xmlWriter.WriteString("NA");
    xmlWriter.WriteEndElement();
    
    xmlWriter.WriteEndElement(); // 闭合根元素
}

2. 确保所有元素标签名使用大写

XmlWriter会严格按照你传入WriteStartElement()的字符串来生成标签,所以只要你把所有标签名写成大写,输出的标签自然就是大写格式。


生成的最终XML结果:

<?XML VERSION="1.0" ENCODING="utf-16" STANDALONE="no"?>
<CP>
  <USER>NA</USER>
  <PASSWORD>NA</PASSWORD>
</CP>

小提示:注意你原来的示例里根元素<cp>和闭合标签</cu>不匹配,上面的代码已经修正了这个问题,确保标签闭合一致。

内容的提问来源于stack exchange,提问作者Dim Mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:18:51