MSXML:如何修改SelectNodes方法返回的节点

时间:2011-08-31 08:01:46

标签: xml delphi msxml

是否可以修改SelectNodes方法返回的XML和/或节点文本?

当我使用SelectSingleNode方法时,我总是可以修改返回节点的XML和Text属性:

vXML := CreateOleObject('MSXML2.DOMDocument.6.0')
vXML.Load('...');
vDoc :=  vXML.DocumentElement;
vNode := vDoc.SelectSingleNode(XPath);
vNode.XML := 'My value'; // Works here

但是当我试图更改SelectNodes方法返回的节点时,我得到“参数数量无效”OLE-Exception

vValue := vDoc.SelectNodes(XPath);
if vValue.Length>0 then
begin
  N := vValue.Length;
  for I := 0 to N-1 do
    vValue.Item(I).XML := ''; // Exception here
end;

是否可以更改SelectNode方法返回的节点的XML?

1 个答案:

答案 0 :(得分:3)

尝试vValue.Item(I).Text := ''(仅适用于XMLDOMElement类型的节点)。你应该使用你正在使用的编程语言标记你的问题,看起来像Pascal。这是德尔福吗?