[英]Adding attribute to XML Node always fail
尝试添加属性时,总是会在下面出现异常,为什么它不起作用?
无法在同一开始元素标记中将前缀“”从“”重新定义为“ http://ws.plimus.com ”。
码
var docXml = new XElement("param-encryption",
new XAttribute("xmlns", "http://ws.plimus.com"),
new XElement("parameters"));
var s = docXml.ToString();
我想得到像
<param-encryption xmlns="http://ws.plimus.com">
<parameters>
</parameters>
</param-encryption>
最简单的方法是通过在元素名称中指定名称空间来让LINQ to XML自动执行此操作:
XNamespace ns = "http://ws.plimus.com";
var docXml = new XElement(ns + "param-encryption", new XElement(ns + "parameters"));
docXml.ToString()
结果:
<param-encryption xmlns="http://ws.plimus.com">
<parameters />
</param-encryption>
尝试这个 -
XNamespace aw = "http://ws.plimus.com";
XElement root = new XElement("param-encryption",
new XAttribute(XNamespace.Xmlns + "aw", "http://ws.plimus.com"),
new XElement("Child", "child content")
);
Console.WriteLine(root);
(编辑):-如果您不想要名称空间别名,请使用此选项
XNamespace aw = "http://ws.plimus.com";
XElement root = new XElement(aw + "param-encryption",
new XAttribute("xmlns", "http://ws.plimus.com"),
new XElement( aw + "Child", "child content")
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.