我如何在DOMNodeList对象中使用.getElementsByTagName?
喜欢:
procedure TForm1.selecionarClick(Sender: TObject);
var DOMDocument: iXMLDOMDocument;
DOMNodeList: iXMLDOMNodeList;
DOMNode: iXMLDOMNode;
DOMElement: iXMLDOMElement;
i: Integer;
begin
Memo.Text := '';
with DOMDocument do
begin
DOMDocument := coDOMDocument.Create;
DOMDocument.load( 'C:\Usuarios.xml' );
DOMDocument.preserveWhiteSpace := false;
DOMNodeList := DOMDocument.selectNodes( './/usuario[@codigo="'+codigo.Text+'"]/' );
for i := 0 to DOMNodeList.length - 1 do
begin
end;
end;
end;
我的XML结构:
<?xml version="1.0" encoding="utf-8"?>
<usuarios>
<usuario codigo="1">
<nome>Name Node</nome>
<sobrenome>Last Name Node</sobrenome>
<cidade>City Node</cidade>
<estado>State Node</estado>
<email>Mail Node</email>
</usuario>
</usuarios>
最佳答案
GetElementsByTagName不是IXMLDOMNodeList的成员,而是IXMLDOMDocument的成员。在IXMLDOMNodeList上,要按标记名进行抓取,必须使用以下类型的构造进行循环:
for i := 0 to DOMNodeList.length - 1 do
begin
DOMNode := DOMNodeList[i];
if DOMNode.nodeName = 'aTagName' then
DoStuff(DOMNode);
// etc etc....
end;
高温超导