首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TXMLNodeList NodeName #文本

TXMLNodeList NodeName #文本
EN

Stack Overflow用户
提问于 2013-03-24 05:24:50
回答 2查看 1K关注 0票数 3

我尝试用IXMLDocument (一种Lua解释器)遍历xml节点和属性。ProcessNode过程,如

代码语言:javascript
复制
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" />

我有正确的节点名称,并且可以获取值

代码语言:javascript
复制
Items.Text +\n-\n*\n/ ntAttribute
ItemIndex 0 ntAttribute

但是当xml像这样

代码语言:javascript
复制
<Items>
    <Text>+\n-\n*\n/</Text>
</Items>
<ItemIndex>0</ItemIndex>

我有过

代码语言:javascript
复制
Items ntElement
Text ntElement
#text ntText
ItemIndex ntElement
#text ntText

当NodeName为"#text“时,如何从这些类型的节点中检索值?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-24 06:09:02

检查ntTextNode.NodeType并从Node.Text获取值

票数 2
EN

Stack Overflow用户

发布于 2015-12-09 20:54:37

或者,您也可以使用INode.IsTextElement属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15592249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档