Delphi TXMLNodeList节点名#文本
我尝试使用IXMLDocument(类似于Lua解释器)遍历xml节点和属性。ProcessNode过程类Delphi TXMLNodeList节点名#文本,delphi,Delphi,我尝试使用IXMLDocument(类似于Lua解释器)遍历xml节点和属性。ProcessNode过程类 procedure ProcessNode(node: IXMLNode); var cNode: IXMLNode; nList: IXMLNodeList; i: integer; begin if node = nil then exit; PrintLocal(format('%s %s', [node.NodeName, GetEnumName(Typ
procedure ProcessNode(node: IXMLNode);
var
cNode: IXMLNode;
nList: IXMLNodeList;
i: integer;
begin
if node = nil then
exit;
PrintLocal(format('%s %s', [node.NodeName, GetEnumName(TypeInfo(TNodeType), Ord(node.NodeType))]));
nList := node.AttributeNodes;
for i := 0 to nList.Count - 1 do
PrintLocal(format('%s %s %s', [nList[i].NodeName, node.Attributes[nList[i].NodeName], GetEnumName(TypeInfo(TNodeType), Ord(nList[i].NodeType))]));
cNode := node.ChildNodes.First;
while cNode <> nil do begin
ProcessNode(cNode);
cNode := cNode.NextSibling;
end;
end;
但是当xml喜欢
<Items>
<Text>+\n-\n*\n/</Text>
</Items>
<ItemIndex>0</ItemIndex>
当NodeName为“text”时,如何从此类节点检索值?检查
ntText的Node.NodeType
,并从Node.text
获取值。或者,您也可以使用INode.IsTextElement
属性
<Items>
<Text>+\n-\n*\n/</Text>
</Items>
<ItemIndex>0</ItemIndex>
Items ntElement
Text ntElement
#text ntText
ItemIndex ntElement
#text ntText