c# – 在解析期间设置命名空间

前端之家收集整理的这篇文章主要介绍了c# – 在解析期间设置命名空间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
您好,我目前遇到的问题是解析没有任何命名空间的Xml字符串,并添加到具有命名空间的现有XElement.

我的代码

XElement elem = root.Element(xs + "methodCall");
if (elem != null)
{
    XElement e = XElement.Parse(this.MethodCallXML);

    elem.Add(e);
}

结果:

<methodCall>
  <methodCall service="activity" method="activityDeleteComment" xmlns="">
    <espSessionState>espSessionState1</espSessionState>
    <traceFlowCode>true</traceFlowCode>
    <params>
      <commentID>http://uri1</commentID>
      <isPermanentDelete>false</isPermanentDelete>
    </params>
  </methodCall>
</methodCall>

我的问题是xmlns =“”我无法弄清楚如何使用parse方法创建节点并给它一个默认的命名空间来使用.

有没有办法做到这一点?

解决方法

好的,我想出了如何将命名空间添加到新的XElement和所有后代
foreach (XElement ce in e.DescendantsAndSelf())
     ce.Name = xs + ce.Name.LocalName;

到目前为止,这解决了我的问题,但如果有人能看到潜在的缺陷或更容易的方式,请告诉我.

原文链接:https://www.f2er.com/csharp/243466.html

猜你在找的C#相关文章