如何删除XML中的记录 我将XML记录导入DATAGRID(ADOQ_LoadUml.LoadFromFile(A.XML);) (如有30条记录)后要删除条件过滤查询后的记录(如有10条),最后xml文件应只剩20条,请为该如何执行此删除操作 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用TXmlDocument对象装载此xml,然后查找你过滤出的节点,再将这些节点删除即可.例:var xmldoc:TXmlDocument ANode:IXmlbegin xmldoc.create('test.xml'); try ..//根据过滤数据,找出要删除的节点 xmldoc.DocumentElement.ChildNodes.delete('要删除的节点名'); finally xmldoc.free; end;end; xml的节点.既然你能用datagrid装载这个xml,应该它每个节点对应datagrid中的一条记录.你打开xml文件看看就知 - <xml xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema">- <s:Schema id="RowsetSchema">- <s:ElementType name="row" content="eltOnly" rs:updatable="true">- <s:AttributeType name="ID" rs:number="1" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="ID" rs:keycolumn="true" rs:autoincrement="true"> <s:datatype dt:type="int" dt:maxLength="4" rs:precision="10" rs:fixedlength="true" /> </s:AttributeType>- <s:AttributeType name="c1" rs:name="读卡时间" rs:number="2" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="读卡时间"> <s:datatype dt:type="dateTime" rs:dbtype="variantdate" dt:maxLength="16" rs:fixedlength="true" /> </s:AttributeType>- <s:AttributeType name="c2" rs:name="身份证号码" rs:number="3" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="身份证号码"> <s:datatype dt:type="string" dt:maxLength="20" rs:fixedlength="true" /> </s:AttributeType>- <s:AttributeType name="c3" rs:name="姓名" rs:number="4" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="姓名"> <s:datatype dt:type="string" dt:maxLength="10" rs:fixedlength="true" /> </s:AttributeType>- <s:AttributeType name="c4" rs:name="性别" rs:number="5" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="性别"> <s:datatype dt:type="string" dt:maxLength="4" rs:fixedlength="true" /> </s:AttributeType>- <s:AttributeType name="c5" rs:name="民族" rs:number="6" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="民族"> <s:datatype dt:type="string" dt:maxLength="10" rs:fixedlength="true" /> </s:AttributeType>- <s:AttributeType name="c6" rs:name="出生日期" rs:number="7" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="出生日期"> <s:datatype dt:type="dateTime" rs:dbtype="variantdate" dt:maxLength="16" rs:fixedlength="true" /> </s:AttributeType>- <s:AttributeType name="c7" rs:name="家庭住址" rs:number="8" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="家庭住址"> <s:datatype dt:type="string" dt:maxLength="70" rs:fixedlength="true" /> </s:AttributeType>- <s:AttributeType name="c8" rs:name="签发机关" rs:number="9" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="签发机关"> <s:datatype dt:type="string" dt:maxLength="50" rs:fixedlength="true" /> </s:AttributeType>- <s:AttributeType name="c9" rs:name="开始有效期" rs:number="10" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="开始有效期"> <s:datatype dt:type="dateTime" rs:dbtype="variantdate" dt:maxLength="16" rs:fixedlength="true" /> </s:AttributeType>- <s:AttributeType name="c10" rs:name="截止有效期" rs:number="11" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="截止有效期"> <s:datatype dt:type="dateTime" rs:dbtype="variantdate" dt:maxLength="16" rs:fixedlength="true" /> </s:AttributeType>- <s:AttributeType name="c11" rs:name="附加信息" rs:number="12" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="附加信息"> <s:datatype dt:type="string" dt:maxLength="50" rs:fixedlength="true" /> </s:AttributeType>- <s:AttributeType name="c12" rs:name="照片信息" rs:number="13" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="照片信息"> <s:datatype dt:type="bin.hex" dt:maxLength="1073741823" rs:long="true" /> </s:AttributeType>- <s:AttributeType name="c13" rs:name="追加地址" rs:number="14" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="追加地址"> <s:datatype dt:type="string" dt:maxLength="150" rs:fixedlength="true" /> </s:AttributeType> <s:extends type="rs:rowbase" /> </s:ElementType> </s:Schema>- <rs:data> <z:row ID="156" c1="2005-03-07T14:34:16" c2="110108199611240189" c3="李久熙" c4="女" c5="汉" c6="1996-11-24T00:00:00" c7="北京市海淀区双榆树东里99区2号楼302室" c8="北京市公安局西城分局" c9="2004-12-10T00:00:00" c10="2009-12-10T00:00:00" c11="" c13="" /> <z:row ID="157" c1="2005-03-07T14:34:36" c2="110108199611240189" c3="李久熙" c4="女" c5="汉" c6="1996-11-24T00:00:00" c7="北京市海淀区双榆树东里99区2号楼302室" c8="北京市公安局西城分局" c9="2004-12-10T00:00:00" c10="2009-12-10T00:00:00" c11="" c13="" /> <z:row ID="167" c1="2005-03-07T15:00:04" c2="110108199611240189" c3="李久熙" c4="女" c5="汉" c6="1996-11-24T00:00:00" c7="北京市海淀区双榆树东里99区2号楼302室" c8="北京市公安局西城分局" c9="2004-12-10T00:00:00" c10="2009-12-10T00:00:00" c11="" c13="" /> <z:row ID="161" c1="2005-03-07T14:34:47" c2="110108199611240189" c3="李久熙" c4="女" c5="汉" c6="1996-11-24T00:00:00" c7="北京市海淀区双榆树东里99区2号楼302室" c8="北京市公安局西城分局" c9="2004-12-10T00:00:00" c10="2009-12-10T00:00:00" c11="" c13="" /> <z:row ID="162" c1="2005-03-07T14:34:49" c2="110108199611240189" c3="李久熙" c4="女" c5="汉" c6="1996-11-24T00:00:00" c7="北京市海淀区双榆树东里99区2号楼302室" c8="北京市公安局西城分局" c9="2004-12-10T00:00:00" c10="2009-12-10T00:00:00" c11="" c13="" /> <z:row ID="164" c1="2005-03-07T14:34:54" c2="110108199611240189" c3="李久熙" c4="女" c5="汉" c6="1996-11-24T00:00:00" c7="北京市海淀区双榆树东里99区2号楼302室" c8="北京市公安局西城分局" c9="2004-12-10T00:00:00" c10="2009-12-10T00:00:00" c11="" c13="" /> <z:row ID="168" c1="2005-03-07T15:00:07" c2="110108199611240189" c3="李久熙" c4="女" c5="汉" c6="1996-11-24T00:00:00" c7="北京市海淀区双榆树东里99区2号楼302室" c8="北京市公安局西城分局" c9="2004-12-10T00:00:00" c10="2009-12-10T00:00:00" c11="" c13="" /> </rs:data> </xml> 我的XML如上,我要几条删除记录,该怎么操作啊,哪位高手说下啊 ClientDataSet load xml file删除记录后ClientDataSet.MergeChangeLog后再存为XML文件。 看你上面贴出的xml.每条记录对应一个节点s.建议先看看delphi的demo.aloking(黑鲸)的方案也是可行的,不明白为啥不明白. 急需DELPHI线程池代码,准备做完成端口 请问一个关于时间的小问题!!! 如何解决这个问题 谁能给我提供点Delphi 6的数据库方面的源程序啊 adoquery1查询到的数据,在quickrep1中显示的问题 自动在toolbar上面创建的toolbutton,如何让他在已经创建的按钮右边出现 关于用QReport组件设计报表的一些问题? 请教:如何把同一个程序中的所有窗体都显示在状态栏上,就象用IE打开一个新的页面一样的效果。 各位大哥,帮帮小弟我了!非常急!!! Delphi 的 strpas函数存放在哪个dll文件内? 关于读nero的存档文件 怎么样得到一个程序的串口设置参数
例:
var
xmldoc:TXmlDocument
ANode:IXml
begin
xmldoc.create('test.xml');
try
..//根据过滤数据,找出要删除的节点
xmldoc.DocumentElement.ChildNodes.delete('要删除的节点名');
finally
xmldoc.free;
end;
end;
- <s:Schema id="RowsetSchema">
- <s:ElementType name="row" content="eltOnly" rs:updatable="true">
- <s:AttributeType name="ID" rs:number="1" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="ID" rs:keycolumn="true" rs:autoincrement="true">
<s:datatype dt:type="int" dt:maxLength="4" rs:precision="10" rs:fixedlength="true" />
</s:AttributeType>
- <s:AttributeType name="c1" rs:name="读卡时间" rs:number="2" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="读卡时间">
<s:datatype dt:type="dateTime" rs:dbtype="variantdate" dt:maxLength="16" rs:fixedlength="true" />
</s:AttributeType>
- <s:AttributeType name="c2" rs:name="身份证号码" rs:number="3" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="身份证号码">
<s:datatype dt:type="string" dt:maxLength="20" rs:fixedlength="true" />
</s:AttributeType>
- <s:AttributeType name="c3" rs:name="姓名" rs:number="4" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="姓名">
<s:datatype dt:type="string" dt:maxLength="10" rs:fixedlength="true" />
</s:AttributeType>
- <s:AttributeType name="c4" rs:name="性别" rs:number="5" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="性别">
<s:datatype dt:type="string" dt:maxLength="4" rs:fixedlength="true" />
</s:AttributeType>
- <s:AttributeType name="c5" rs:name="民族" rs:number="6" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="民族">
<s:datatype dt:type="string" dt:maxLength="10" rs:fixedlength="true" />
</s:AttributeType>
- <s:AttributeType name="c6" rs:name="出生日期" rs:number="7" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="出生日期">
<s:datatype dt:type="dateTime" rs:dbtype="variantdate" dt:maxLength="16" rs:fixedlength="true" />
</s:AttributeType>
- <s:AttributeType name="c7" rs:name="家庭住址" rs:number="8" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="家庭住址">
<s:datatype dt:type="string" dt:maxLength="70" rs:fixedlength="true" />
</s:AttributeType>
- <s:AttributeType name="c8" rs:name="签发机关" rs:number="9" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="签发机关">
<s:datatype dt:type="string" dt:maxLength="50" rs:fixedlength="true" />
</s:AttributeType>
- <s:AttributeType name="c9" rs:name="开始有效期" rs:number="10" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="开始有效期">
<s:datatype dt:type="dateTime" rs:dbtype="variantdate" dt:maxLength="16" rs:fixedlength="true" />
</s:AttributeType>
- <s:AttributeType name="c10" rs:name="截止有效期" rs:number="11" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="截止有效期">
<s:datatype dt:type="dateTime" rs:dbtype="variantdate" dt:maxLength="16" rs:fixedlength="true" />
</s:AttributeType>
- <s:AttributeType name="c11" rs:name="附加信息" rs:number="12" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="附加信息">
<s:datatype dt:type="string" dt:maxLength="50" rs:fixedlength="true" />
</s:AttributeType>
- <s:AttributeType name="c12" rs:name="照片信息" rs:number="13" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="照片信息">
<s:datatype dt:type="bin.hex" dt:maxLength="1073741823" rs:long="true" />
</s:AttributeType>
- <s:AttributeType name="c13" rs:name="追加地址" rs:number="14" rs:nullable="true" rs:maydefer="true" rs:writeunknown="true" rs:basetable="ReadHistory" rs:basecolumn="追加地址">
<s:datatype dt:type="string" dt:maxLength="150" rs:fixedlength="true" />
</s:AttributeType>
<s:extends type="rs:rowbase" />
</s:ElementType>
</s:Schema>
- <rs:data>
<z:row ID="156" c1="2005-03-07T14:34:16" c2="110108199611240189" c3="李久熙" c4="女" c5="汉" c6="1996-11-24T00:00:00" c7="北京市海淀区双榆树东里99区2号楼302室" c8="北京市公安局西城分局" c9="2004-12-10T00:00:00" c10="2009-12-10T00:00:00" c11="" c13="" />
<z:row ID="157" c1="2005-03-07T14:34:36" c2="110108199611240189" c3="李久熙" c4="女" c5="汉" c6="1996-11-24T00:00:00" c7="北京市海淀区双榆树东里99区2号楼302室" c8="北京市公安局西城分局" c9="2004-12-10T00:00:00" c10="2009-12-10T00:00:00" c11="" c13="" />
<z:row ID="167" c1="2005-03-07T15:00:04" c2="110108199611240189" c3="李久熙" c4="女" c5="汉" c6="1996-11-24T00:00:00" c7="北京市海淀区双榆树东里99区2号楼302室" c8="北京市公安局西城分局" c9="2004-12-10T00:00:00" c10="2009-12-10T00:00:00" c11="" c13="" />
<z:row ID="161" c1="2005-03-07T14:34:47" c2="110108199611240189" c3="李久熙" c4="女" c5="汉" c6="1996-11-24T00:00:00" c7="北京市海淀区双榆树东里99区2号楼302室" c8="北京市公安局西城分局" c9="2004-12-10T00:00:00" c10="2009-12-10T00:00:00" c11="" c13="" />
<z:row ID="162" c1="2005-03-07T14:34:49" c2="110108199611240189" c3="李久熙" c4="女" c5="汉" c6="1996-11-24T00:00:00" c7="北京市海淀区双榆树东里99区2号楼302室" c8="北京市公安局西城分局" c9="2004-12-10T00:00:00" c10="2009-12-10T00:00:00" c11="" c13="" />
<z:row ID="164" c1="2005-03-07T14:34:54" c2="110108199611240189" c3="李久熙" c4="女" c5="汉" c6="1996-11-24T00:00:00" c7="北京市海淀区双榆树东里99区2号楼302室" c8="北京市公安局西城分局" c9="2004-12-10T00:00:00" c10="2009-12-10T00:00:00" c11="" c13="" />
<z:row ID="168" c1="2005-03-07T15:00:07" c2="110108199611240189" c3="李久熙" c4="女" c5="汉" c6="1996-11-24T00:00:00" c7="北京市海淀区双榆树东里99区2号楼302室" c8="北京市公安局西城分局" c9="2004-12-10T00:00:00" c10="2009-12-10T00:00:00" c11="" c13="" />
</rs:data>
</xml>
删除记录后
ClientDataSet.MergeChangeLog后再存为XML文件。
建议先看看delphi的demo.
aloking(黑鲸)的方案也是可行的,不明白为啥不明白.