首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何防止.NET的XmlDocument输出中的空白xmlns属性?

要防止.NET的XmlDocument输出中的空白xmlns属性,可以采用以下方法:

  1. 使用XmlWriter来创建XML文档,并使用XmlWriterSettings设置OmitXmlDeclaration属性为true
代码语言:csharp
复制
var settings = new XmlWriterSettings
{
    OmitXmlDeclaration = true,
    Indent = true,
    NewLineOnAttributes = true
};

using (var writer = XmlWriter.Create("output.xml", settings))
{
    writer.WriteStartElement("root");
    writer.WriteAttributeString("xmlns", "http://www.w3.org/2000/xmlns/");
    writer.WriteElementString("child", "value");
    writer.WriteEndElement();
}
  1. 使用LINQ to XML创建XML文档,并使用XNamespace来设置命名空间。
代码语言:csharp
复制
var xns = XNamespace.Get("http://www.w3.org/2000/xmlns/");
var doc = new XElement(xns + "root",
    new XAttribute(XNamespace.None + "xmlns", "http://www.w3.org/2000/xmlns/"),
    new XElement("child", "value")
);

doc.Save("output.xml");
  1. 使用XmlSerializer序列化对象为XML,并使用XmlSerializerNamespaces来设置命名空间。
代码语言:csharp
复制
[XmlRoot(Namespace = "http://www.w3.org/2000/xmlns/")]
public class Root
{
    public string Child { get; set; }
}

var root = new Root { Child = "value" };

var serializer = new XmlSerializer(typeof(Root));
var namespaces = new XmlSerializerNamespaces();
namespaces.Add(string.Empty, "http://www.w3.org/2000/xmlns/");

using (var writer = new StreamWriter("output.xml"))
{
    serializer.Serialize(writer, root, namespaces);
}

以上方法都可以有效防止.NET的XmlDocument输出中的空白xmlns属性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • win10 uwp 读写XML xml 语法XmlDocumentLinq 读写 XMLWPF 读XMLWPF 读写 xaml

    UWP 对 读写 XML做了一些修改,但和之前 WPF 的方法没有大的区别。 我们先来说下什么是 XML , XML 其实是 树结构,可以表达复杂的结构,所以在定制要求高的、或其他方面如json 做不到的结构,那么一般就使用XML,如果XML的数据结构都做不到,那么基本上也难找到其他的结构。 XML 的优点是读写很简单,也支持定制。缺点是复杂,当然这也是他的优点。在网络传输数据,如果使用XML,相对的传输大小会比 Json 多两倍。所以是不是要用到这么高级的结构,还是看需要。 wr 很喜欢用 XML,可以看到我们的项目,*.csproj 和页面 xaml 都是XML,当然Html也是,Xml 其实还可以用作本地数据库,所以 XML 还是很重要。 本文就提供简单的方法来读写 XML 。提供方法有两个,放在前面的方法是比较垃圾的方法,放在后面的才是我希望大家使用的。 如果遇到了 C# 或 UWP 读取 xml 返回的 Node 是空,那么请检查命名空间,关于命名空间内容,请继续看博客。

    01
    领券