如何使用 System.Xml 创建此 xml 文件

Posted

技术标签:

【中文标题】如何使用 System.Xml 创建此 xml 文件【英文标题】:How to create this xml file by using System.Xml 【发布时间】:2011-06-08 09:28:23 【问题描述】:

我正在尝试在 .NET 中创建如下所示的 xml 文件。其实我不能做<soap:Header> 部分。只需要那部分:

<soap:Header>
<AuthenticationSoapHeader
xmlns="http://example.service.com/WS">
<WSUserName>WSusername</WSUserName>
</AuthenticationSoapHeader>
</soap:Header>

我可以像下面那样做,我需要像上面那样的东西

<Header> <AuthenticationSoapHeader
xmlns="http://example.service.com/WS">
<WSUserName>WSusername</WSUserName>
</AuthenticationSoapHeader> </Header>

提前致谢,

doc = new XmlDocument();

XmlNode header = doc.CreateNode(XmlNodeType.Element,"soap","Header","");

【问题讨论】:

你能发布你用来创建 xml 的方式吗? (示例代码?)在任何情况下,您都应该将映射到肥皂前缀的正确命名空间添加到 Header 元素。 【参考方案1】:

您尝试创建的 XML 格式不正确。肥皂命名空间前缀尚未声明。

如果你能找到任何允许你创建它的 DOM 库,我会感到惊讶。

【讨论】:

我想显示的代码只是整个 XML 文件的一部分,前缀声明为“above”。如果不是,你是完全正确的,一个工具实际上应该拒绝创建这样的东西。 (Barış,请记住,除了“可以在我的节点或我的任何父母上用 xmlns:soap="..." 声明的这个前缀下查找我的命名空间”之外,前缀没有说明任何内容,所以没有它的前缀声明将完全没用。

以上是关于如何使用 System.Xml 创建此 xml 文件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 C# 中的 System.Xml.Serialization 使对象不可变但可序列化?

如何在 C# 中读取此 XML?

通过 System.Xml.XmlWriter 取消转义尖括号

使用C#进行XML文档读取

System.Xml 是不是使用 MSXML?

如何在 C# 中使用事件驱动的 SAX(Simple API FOR XML) 解析器,还是使用 System.XML 命名空间更好?