C#:显式命名空间未出现在生成的 XML 中

发布于 2024-08-16 13:20:01 字数 766 浏览 9 评论 0原文

给定以下 C# 代码来生成 XML 文件:

    XmlDocument requestXML = new XmlDocument();

    XmlDeclaration declaration = requestXML.CreateXmlDeclaration( "1.0", "utf-8", null );
    requestXML.AppendChild( declaration );

    XmlElement soapEnvelope = requestXML.CreateElement( "soap:Envelope" );

    soapEnvelope.SetAttribute( "xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance" );
    soapEnvelope.SetAttribute( "xmlns:xsd", "http://www.w3.org/2001/XMLSchema" );
    soapEnvelope.SetAttribute( "xmlns:soap", "http://schemas.xmlsoap.org/soap/envelope/" );

我在 requestXML.OuterXML 中看到的 XML 显示

<Envelope ...>

<soap:Envelope ...>

我预期的不同。我做错了什么?

Given the following C# code to generate an XML file:

    XmlDocument requestXML = new XmlDocument();

    XmlDeclaration declaration = requestXML.CreateXmlDeclaration( "1.0", "utf-8", null );
    requestXML.AppendChild( declaration );

    XmlElement soapEnvelope = requestXML.CreateElement( "soap:Envelope" );

    soapEnvelope.SetAttribute( "xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance" );
    soapEnvelope.SetAttribute( "xmlns:xsd", "http://www.w3.org/2001/XMLSchema" );
    soapEnvelope.SetAttribute( "xmlns:soap", "http://schemas.xmlsoap.org/soap/envelope/" );

The XML I'm seeing in requestXML.OuterXML shows

<Envelope ...>

Rather than

<soap:Envelope ...>

as I would expect. What am I doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

挽清梦 2024-08-23 13:20:01

也许您可以尝试使用命名空间 uri 作为参数 #2 的 CreateElement 重载。

Maybe you could try the CreateElement overload that takes a namespace uri as parameter #2.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文