xml - 读取和写入 XML 文件

标签 xml delphi delphi-2006 tclientdataset txmldocument

我需要使用 Delphi 处理 XML 文件。

我想将 DBGrid 中的 xml 数据呈现给用户,并将用户所做的更改保存在 XML 文件中。

例如,在下面的 xml(呈现给用户)中,如果用户 changed City of ABC under clientadded a new customer with NickName as "AAA"这些更改应反射(reflect)在 XML 文件中。

<Data LinkID=”0”>
  <Client>
      <Item Name=”ABC” Mobile=”1234” City=”IN” />
      <Item Name=”PQR” Mobile=”5678” City=”IN” />
  </Client>
  <Customer>
    <Item NickName=”XYZ” Phone=”1254” City=”IN” />
    <Item NickName=”MNO” Phone =”41255” City=”IN” />
  </Customer>
</Data>

我正在使用 XMLDocument 和 ClientDataSet 来实现这一点,但没有成功。

谁能帮助我实现这一目标?

最佳答案

问题在于我正在使用的 XML 文件。

XML 文件应采用指定格式,必须具有 <METADATA> and <ROWDATA> 标记。

我将xml更改为该格式。

<?xml version="1.0" standalone="yes"?>  
<DATAPACKET Version="2.0">
<METADATA>
<FIELDS>
<FIELD attrname="Name" fieldtype="string" WIDTH="50"/>
<FIELD attrname="Mobile" fieldtype="string" WIDTH="20"/>
<FIELD attrname="City" fieldtype="string" WIDTH="20"/>
</FIELDS><PARAMS CHANGE_LOG="6 1 8"/>
</METADATA>
<ROWDATA>
<ROW Name="ABC" Mobile="1234" City="IN"/>
<ROW Name="PQR" Mobile="5678" City="IN"/>
<ROW Name="AAA" Mobile="7894" City="IN"/>
<ROW Name="MNO" Mobile="4569" City="IN"/>
<ROW Name="ABC" Mobile="45685" City="IN"/>
</ROWDATA>
</DATAPACKET>

接下来我用ClientDataSet1.LoadFromFile('E:\projects\XML\Sample App with CDS\XmlText.xml'); 读取 XML 文件。

在网格中完成修改后,我使用 ClientDataSet1.SaveToFile('E:\projects\XML\Sample App with CDS\XmlText.xml',dfXML); 方法保存回 XML。

为此目的不需要 XMLDocument。

关于xml - 读取和写入 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3987486/

相关文章:

delphi - 如何递归超过 255 个字符的路径并读取文件属性?

c# - 如何将字符串从 C# 传递给 delphi dll 函数?

android - 在 Android WebView 中使用 FireFox

php - 如何与 Web XML/JSON API 交互?

delphi - 有没有办法将 Delphi 表单存储在 .dll 文件中?

Windows 视觉主题 : Gallery of Parts and States?

delphi - 当我关闭 Windows 属性窗口时,TOpenDialog 移动到调用窗体后面

xml - 无法获取 XML 节点信息以追踪 :(

iphone - 无法读取 XML 文件

c# - 如何检查应用程序是否从\program files\运行