繁体   English   中英

向XML节点添加属性总是失败

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM