我已经阅读了这个答案, 但我不知道如何在我的案例中使用该样本.我有一个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>
Run Code Online (Sandbox Code Playgroud)
如何删除PN = BBBB的节点?
我很抱歉,我想我不清楚我的问题,我的不好,我的问题是如何删除这一部分:
<Data>
<PN>BBBB</PN>
<FN>2222</FN>
</Data>
Run Code Online (Sandbox Code Playgroud)
不仅是这一节
<PN>BBBB</PN>
Run Code Online (Sandbox Code Playgroud)
答案:感谢Runner,我修改了他的一些代码
DeleteNode := XMLDoc.DocumentElement.SelectSingleNode('/Archive/DataList/Data[PN="BBBB"]');
DeleteNode.ParentNode.RemoveChild(DeleteNode);
Run Code Online (Sandbox Code Playgroud)
单程:
DeleteNode := OmniXML.DocumentElement.SelectSingleNode('//[PN=''BBBB'']');
DeleteNode.ParentNode.RemoveChild(DeleteNode);
Run Code Online (Sandbox Code Playgroud)
您可以以任何其他方式搜索它.请注意,上面的示例仅选择第一个节点出现.但我建议你看一下SimpleStorage
这是一组接口,极大地简化了OmniXML的使用.以上示例将是:
SimpleStorage.Remove('//[PN=''BBBB'']');
Run Code Online (Sandbox Code Playgroud)
SimpleStorage还简化了使用OmniXML和XML的几乎所有其他方面.
归档时间: |
|
查看次数: |
1001 次 |
最近记录: |