怎样才能知道是否有一个XML格式的空白点......OmniXML空白节点
的XML文件中有这样的结构:
<rollercoaster build="0.1 (Dec 30 2010)" debug="no">
<settings name="roller coaster" sourcefile="rolcost.pas">
<description>Roller Coaster admin function</description>
<year>2010</year>
<manufacturer>ArtTeck</manufacturer>
<sears name="sears.uk" size="1024" mda="87117ba5082cd7a615b4ec7c02dd819" region="england" set1="25d"/>
<sears name="sears.dk" size="1056" mda="326dbbf94c6fa2e96613dedb53702f8" region="denmark" set1="25d"/>
<sears name="sears.gr" size="6802" mda="01b4c38108d9dc4e48da4f8d5821377" region="greece" set1="65d"/>
</settings>
<settings name="roller coaster2" sourcefile="rolcost2.pas">
<description>Roller Coaster user function</description>
<year></year>
<manufacturer>ArtTeck</manufacturer>
</settings>...... and goes on
</rollercoaster>
我想知道的事情是:
第二年的例子是空的,当我尝试获取文本节点我得到一个错误,并停止生产者我怎么能通过这个错误或更好的如何控制空白节点... 谢谢....
这里是代码
for iNode := 0 to rollerList.Length - 1 do
begin
Conf.nxtgrd.BeginUpdate;
noderoller := rollerList.Item[iNode];
Conf.nxtgrd.Cell[0,RowNum].AsBoolean := StrToBool(GetNodeTextStr(noderoller,'description'));
if GetNodeTextStr(noderoller,'year') <> '' then // here get the exception...
Conf.nxtgrd.Cell[1,RowNum].AsString := GetNodeTextStr(noderoller,'year');
Conf.nxtgrd.EndUpdate;
end;
简单的存储是不是为德尔福7? p.s.我纠正上面的XML例子在第二年...
如果我理解正确,您希望获取某个XML节点的文本,并且会得到一个异常。首先发布您尝试获取文本的代码。并指出你的例子中的确切节点是空的。 我会建议使用SimpleStorage,但我看到你仍然在Delphi 7上。至少确保你使用OmniXMLUtils。 – Runner 2011-05-31 07:25:05
除此之外,在你的例子中第二年的节点不是空的。 – gabr 2011-05-31 07:38:26