如何使用 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 使对象不可变但可序列化?
通过 System.Xml.XmlWriter 取消转义尖括号
如何在 C# 中使用事件驱动的 SAX(Simple API FOR XML) 解析器,还是使用 System.XML 命名空间更好?