Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
读取和写入XML文件_Xml_Delphi_Delphi 2006_Tclientdataset_Txmldocument - Fatal编程技术网

读取和写入XML文件

读取和写入XML文件,xml,delphi,delphi-2006,tclientdataset,txmldocument,Xml,Delphi,Delphi 2006,Tclientdataset,Txmldocument,我需要使用Delphi处理XML文件 我想将DBGrid中的xml数据呈现给用户,并将用户所做的更改保存在xml文件中 例如,在下面提供给用户的xml中,如果用户在客户端下更改了ABC市,并添加了一个昵称为AAA的新客户,则这些更改应反映在xml文件中 <Data LinkID=”0”> <Client> <Item Name=”ABC” Mobile=”1234” City=”IN” /> <Item Name=”PQR”

我需要使用Delphi处理XML文件

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

例如,在下面提供给用户的xml中,如果用户在客户端下更改了ABC市,并添加了一个昵称为AAA的新客户,则这些更改应反映在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文件应采用指定的格式,该格式必须包含和标记

我将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文件应采用指定的格式,该格式必须包含和标记

我将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。

Bharat,请检查此问题,了解如何将TClientDataset保存到XML文件。您可以详细说明您遇到的问题或错误吗?您能添加您尝试使用的代码吗?@Vicens:据我所知,数据包错误中出现了不匹配,该错误可能来自某个字段中的类型不匹配。但是,如果不看代码,很难说。Bharat,检查这个问题,看看如何将TClientDataset保存到XML文件。您可以详细说明您遇到了哪些问题或错误吗?您能添加您尝试使用的代码吗?@Vicens:据我所知,数据包错误中出现了不匹配,该错误可能来自某个字段中的类型不匹配。但是,如果没有看到代码,很难说。