C# 如何根据匹配的属性和值删除xml中的1个元素?
我想根据匹配的属性和值删除xml中的1个元素。 这里是我的XML文件:C# 如何根据匹配的属性和值删除xml中的1个元素?,c#,xml,C#,Xml,我想根据匹配的属性和值删除xml中的1个元素。 这里是我的XML文件: <Setup> <Include Type="Product"> <Value uomid="8078">468908</Value> <Value uomid="8078">468922</Value> </Include> </Setup> 在代码中没有任何地方检查节点值是否具有要查找的值 试试这个:
<Setup>
<Include Type="Product">
<Value uomid="8078">468908</Value>
<Value uomid="8078">468922</Value>
</Include>
</Setup>
在代码中没有任何地方检查节点值是否具有要查找的值 试试这个:
List<XmlNode> toDelete = new List<XmlNode>();
foreach (XmlNode value in node.SelectNodes("//Value[@uomid]"))
{
if (value.Attributes["uomid"].Value == multipleUOM.ToString() &&
value.InnerText == valueToMatch.ToString())
{
toDelete.Add(value);
}
}
foreach (XmlNode value in toDelete)
{
value.ParentNode.RemoveChild(value);
}
List toDelete=new List();
foreach(node.SelectNodes中的XmlNode值(“//value[@uomid]”)
{
if(value.Attributes[“uomid”].value==multipleUOM.ToString()&&
value.InnerText==valueToMatch.ToString()
{
增加(价值);
}
}
foreach(toDelete中的XmlNode值)
{
value.ParentNode.RemoveChild(值);
}
这是c#吗?添加一个c#标记,那么您的代码工作吗?你们有错误吗?是的,它起作用了,但我得到了错误的结果。@TuấnTăng,错误的结果将是……?立即删除所有代码。所以,我只设置了2个参数:1是468908,即属性为uomid:8078的节点。这468908将被删除
List<XmlNode> toDelete = new List<XmlNode>();
foreach (XmlNode value in node.SelectNodes("//Value[@uomid]"))
{
if (value.Attributes["uomid"].Value == multipleUOM.ToString() &&
value.InnerText == valueToMatch.ToString())
{
toDelete.Add(value);
}
}
foreach (XmlNode value in toDelete)
{
value.ParentNode.RemoveChild(value);
}