c# – 在解析期间设置命名空间
发布时间:2020-12-15 08:24:40 所属栏目:百科 来源:网络整理
导读:您好,我目前遇到的问题是解析没有任何命名空间的Xml字符串,并添加到具有命名空间的现有XElement. 我的代码: XElement elem = root.Element(xs + "methodCall");if (elem != null){ XElement e = XElement.Parse(this.MethodCallXML); elem.Add(e);} 结果:
您好,我目前遇到的问题是解析没有任何命名空间的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; 到目前为止,这解决了我的问题,但如果有人能看到潜在的缺陷或更容易的方式,请告诉我. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |