我读过这个答案,但我不知道如何在我的例子中使用这个示例。我有一个xml文件
<Archive>
<Source>
<Name>321</Name>
<BatchID>123</BatchID>
</Source>
<DataList>
<Data>
<PN>AAAA</PN>
<FN>1111</FN>
</Data>
<Data>
<PN>BBBB</PN>
<FN>2222</FN>
</Data>
</DataList>
</Archive>如何删除具有PN=BBBB的节点?
对不起,我想我的问题不太清楚,我的错,我的问题是如何删除这一部分:
<Data>
<PN>BBBB</PN>
<FN>2222</FN>
</Data>不仅仅是这一节
<PN>BBBB</PN>答案:多亏了Runner,我修改了他的一些代码
DeleteNode := XMLDoc.DocumentElement.SelectSingleNode('/Archive/DataList/Data[PN="BBBB"]');
DeleteNode.ParentNode.RemoveChild(DeleteNode);发布于 2012-03-23 06:35:32
单程:
DeleteNode := OmniXML.DocumentElement.SelectSingleNode('//[PN=''BBBB'']');
DeleteNode.ParentNode.RemoveChild(DeleteNode);你可以用任何其他方式去寻找它。请注意,上面的示例将只选择第一个节点出现。但我建议你看看SimpleStorage
这是一组接口,极大地简化了OmniXML的工作。然后,上面的例子是:
SimpleStorage.Remove('//[PN=''BBBB'']');通常,SimpleStorage还简化了使用OmniXML和XML的几乎所有其他方面。
https://stackoverflow.com/questions/9833597
复制相似问题