我想在c#中做一些简单的事情。
我有一个XMLNode
xNode
,其中包含以下内容
<TxnFrameworkImport>
<RefreshData>False</RefreshData>
<Initializing>False</Initializing>
<CompanyID>1902</CompanyID>
<FolderID>-1</FolderID>
<SearchId>-1</SearchId>
<Remote>False</Remote>
<Parameters>
<Parameter Type="Transactions" Name="TransactionKey">
<Value Type="A" Name="584">7576</Value>
<Value Type="A" Name="123">66345</Value>
<Value Type="A" Name="4214">66346</Value>
</Parameter>
</Parameters>
</TxnFrameworkImport>
我想删除值为66345
和66346
答案 0 :(得分:1)
另一个XPath条件为or
的示例。
foreach (XmlNode node in doc.SelectNodes("//Value[.=66345] | //Value[.=66346]"))
{
node.ParentNode.RemoveChild(node);
}
答案 1 :(得分:0)
虽然使用XML的 XDocument 系统比 XmlDocument 更受欢迎,但这是使用您询问的 XmlNode 对象的一种方法
// "//Parameter/Value" is an XPath selector that finds any Parameter Node and selects the child Value nodes of it.
foreach (XmlNode valueNode in doc.SelectNodes("//Parameter/Value"))
{
if (valueNode.InnerText == "66345" || valueNode.InnerText == "66346")
{
valueNode.ParentNode.RemoveChild(valueNode);
}
}
您可以阅读有关XPath here
的更多信息