导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
2020/7/12 17:44:39
标题:
加入我的收藏
楼主:
我用程序读取XML的值。文件结构如下 <people>717</people> <local>http:ip138.com/</local> <version>202000628</version> 代码为: update:=XMLDocument1.DocumentElement.ChildNodes[1].ChildNodes[0].Text; 但是忽然遇到个问题。如果我第2个字段为空的话。代码读取就会显示出 LIST index out of bounds(0) 的错误。这个怎么解决呢?请教各位兄弟吗
----------------------------------------------
-
作者:
2020/7/12 20:21:36
1楼:
直接用Qxml吧, 会好点。 操作上容易多了。
----------------------------------------------
delphi界写python最强, python界写delphi最强. 写自己的代码, 让别人去运行.
作者:
2020/7/13 8:41:01
2楼:
不是应该遍历所有需要的节点,然后在比对是不是你要的吗?
----------------------------------------------
delphi 是兴趣,和工作无关,即使它倒闭。又不靠它 delphi 吃饭,怕甚?
作者:
2020/7/13 9:09:16
3楼:
1 楼的 回答,毫无意义。 新版本 DELPHI 是可以选择 库种类的。 但是 任何库,也得讲事实,你没有就是没有。
----------------------------------------------
(C)(P)Flying Wang
作者:
2020/7/13 19:58:06
4楼:
procedure TForm1.FormCreate(Sender: TObject); var s1 : String; begin s1 := '<?xml version="1.0" encoding="GBK"?>' + '<root>' + ' <people>717</people>' + ' <local>http:ip138.com/</local>' + ' <local2></local2>' + ' <version>202000628</version>' + '</root>'; XMLDocument1.LoadFromXML(s1); for var i1 := 0 to XMLDocument1.DocumentElement.ChildNodes.Count-1 do Memo1.Lines.Add( Format('%s = %s', [XMLDocument1.DocumentElement.ChildNodes[i1].NodeName, XMLDocument1.DocumentElement.ChildNodes[i1].Text] )); end;
----------------------------------------------
delphi吾爱
作者:
dmzn (dmzn)
★☆☆☆☆
-
盒子活跃会员
2020/7/14 10:26:19
5楼:
XML也不是可以随意缺失节点的,标准的有DTD文件来约束.比如:哪些节点必须存在,节点取值. 我经常用的NativeXML解析包,有FindNode和NodeByName,判定节点是否存在.
----------------------------------------------
生活愉快.
作者:
vkow (vkow)
★☆☆☆☆
-
普通会员
2020/7/15 15:29:54
6楼:
说起DTD真的头晕。 我用TXMLDocument遇到的问题,恰恰是,xml中包含DTD信息。 TXMLDocument报错,“禁用DTD”,找了半天资料也没明白问题出在哪里。 最后智能删除了DTD相关数据。
----------------------------------------------
-