我有使用以下代码删除标签的XML:
XElement xmlElement = XElement.Parse(xml);
xmlElement.XPathSelectElement("//"+ tagToRemove).Remove();
但是现在我有另一个问题。在上面的方法中,我删除了一个特定的标签,但现在我想在下面删除该标签。在XML中,有很多称为的标记,param
所以我不能仅仅删除它。
我在想的是删除子标签所在的标签 name = ERP_OUTPUT_400_20_DOCUMENTATIONLANGUAGE_field
<param type=\"read-only\" committed=\"no\" changed=\"no\" visible=\"yes\" no=\"1\">
<name>ERP_OUTPUT_400_20_DOCUMENTATIONLANGUAGE_field</name>
<desc>ERP OUTPUT 400 20 DOCUMENTATIONLANGUAGE</desc>
<val>SV;</val>
<val-desc>SV;</val-desc>
<domain name=\"function\" />
<aux>
<prop name=\"hidden\">no</prop>
</aux>
</param>
我怎样才能做到这一点?
要选择子元素<name>
值等于特定名称的元素,可以使用以下XPath查询:
//element_name[name='specific_name']
基于您现有代码的示例:
var name = "ERP_OUTPUT_400_20_DOCUMENTATIONLANGUAGE_field";
var xpath = String.Format("//{0}[name='{1}']", tagToRemove, name);
xmlElement.XPathSelectElement(xpath).Remove();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句