我有一个关于在delphi中读取xml文件的问题。 我已经阅读了一些关于它的文章,但没有找到我需要的任何地方,至少不是我注意到的。 与此同时,我在How to read data from xml file and display it over the text box in delphi language
上阅读了该文章然而,有两件事: 首先,在Remy提供的第一个答案中,我相信有一些错误的代码:在“try”之后,有:Vehicle:= XMLDocument.DocumentElement;但我相信它应该是XMLDocument1.DocumentElement。我是对的吗? [抱歉,由于我没有足够的声誉,因此无法发表评论。] 其次,我不知道如何更改要显示的记录。在上面的例子中,xml文件中有两个“vehicle”记录,但是我只看到它只被调用一次,所以这是我的问题,我如何定义要读取哪个记录/节点?
更具体地说明我真正需要的东西: 我正在尝试读取一个生成为xml文件的短信备份文件,其结构如下:
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<?xml-stylesheet type="text/xsl" href="sms.xsl"?>
<smses count="3">
<sms protocol="0" address="~number~" date="1385104712000" type="1" subject="null" body="Message 1 text" toa="145" sc_toa="0" service_center="ˇ~servicecenter~" read="1" status="-1" locked="0" date_sent="0" readable_date="Nov 22, 2013 8:18:32 AM" contact_name="My contact 1" />
<sms protocol="0" address="~number~" date="1385104912000" type="2" subject="null" body="Message 2 text" toa="145" sc_toa="0" service_center="ˇ~servicecenter~" read="1" status="-1" locked="0" date_sent="0" readable_date="Nov 22, 2013 8:38:32 AM" contact_name="My contact 2" />
<sms protocol="0" address="~number~" date="1385106412000" type="1" subject="null" body="Message 3 text" toa="145" sc_toa="0" service_center="ˇ~servicecenter~" read="1" status="-1" locked="0" date_sent="0" readable_date="Nov 22, 2013 9:18:32 AM" contact_name="My contact 1" />
</smses>
我怎样才能正确阅读这些内容?请注意,可能存在可重复的“地址”值。 我想将每个不同的联系人/号码/“地址”添加为列表框项目,这样我就可以选择联系人,然后通过其他元素显示对话..
我正在考虑将整个xml文件读取到一个记录数组,其长度由xml中的第一个数据设置,所以我以后可以直接从程序中访问这些数据,也可以将其写入数据库,所以一个人可以创建/创建所有短信备份xml的组织数据库他/她有......
使用数据库等我不希望有任何问题,只需要先将文件读入内存。
任何帮助将不胜感激。谢谢! :)