我試圖用IXMLDocument(有點Lua解釋器)遍歷xml節點和屬性。 ProcessNode過程就像TXMLNodeList NodeName #text
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像
<Content Items.Text="+\n-\n*\n/" ItemIndex="0" />
我有適當的節點名稱,並能得到價值
Items.Text +\n-\n*\n/ ntAttribute
ItemIndex 0 ntAttribute
但是當XML像
<Items>
<Text>+\n-\n*\n/</Text>
</Items>
<ItemIndex>0</ItemIndex>
我
Items ntElement
Text ntElement
#text ntText
ItemIndex ntElement
#text ntText
如何在NodeName爲「#text」時從這些類型的節點檢索值?
謝謝,它的工作原理。 – user2091150 2013-03-24 11:21:38