怎樣才能知道是否有一個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