xmldocument的使用

TXMLDocument domvendor = ADOM XML v4

var
  root: IXMLnode;
  lei: IXMLNode;
  info: IXMLNode;
  i: integer;
  strxml:string;
  xmldoc:TXMLDocument;
begin
  cbbCountry.Items.Clear;
  try
    strxml := ‘<?xml version="1.0" encoding="GB2312"?>‘;
    strxml := strxml + (httprio1 as DataCenterServicesSoap).GetCZD(xz);
    xmldoc :=  TXMLDocument.create(nil);
    xmldoc.LoadFromXML(strxml);
    root := xmldoc.DocumentElement;
    lei := root.ChildNodes.First;
    while lei <> nil do
    begin
      if lei.NodeName = ‘Item‘ then
      begin
        info := lei.ChildNodes.First;
        clientdatasetcountry.append;
        while info <> nil do
        begin
          if info.NodeName = ‘unitId‘ then
          begin
            clientdatasetcountry.fieldbyname(‘unitId‘).value := info.text;
          end
          else if info.NodeName = ‘name‘ then
          begin
            clientdatasetcountry.fieldbyname(‘name‘).value := info.text;
          end;
          info := info.NextSibling;
        end;
      end;
      clientdatasetcountry.post;
      lei := lei.NextSibling;
    end;
 finally
   xmldoc.free;
 end;
  cbbcountry.items.Clear;
  clientdatasetcountry.first;
  while not clientdatasetcountry.eof do
  begin
    if  trim(clientdatasetcountry.FieldByName(‘name‘).asstring) <> ‘‘ then
      cbbcountry.items.add( clientdatasetcountry.FieldByName(‘name‘).asstring);
    clientdatasetcountry.next;
  end;

时间: 2024-10-05 09:37:30

xmldocument的使用的相关文章

【原创】XmlDocument.LoadXml和Load的区别

LoadXml是加载xml字符串.参数是xml的内容.Load加载的是一个xml文件.参数是文件路径. 示例一: public static void ParseXml(WWW www) {     XmlDocument xmlDoc = new XmlDocument();     xmlDoc.LoadXml(www.text);     XmlNodeList nodeList = xmlDoc.SelectSingleNode("rank").ChildNodes;     

XmlDocument

XmlDocument对象是用处理xml文件的. 这里先介绍几个知识点. 1.CDATA 不检测文本,因为和网页的跨站攻击一样,xml也存在转义的问题.在CDATA块内的数据会原样输出. 2.XmlNode和XmlElement的区别,后者是前者的子类,前者包括的范围广,xml文档的所有节点都归宿XmlNode, 只有文本节点才属于XmlElement. 用法: 1.Load 加载xml文档. 2.LoadXml 加载xml文档,内部调用了Load方法. 3.HasChildNode 判断是否有

firefox下jquery ajax 返回 [object XMLDocument]处理

1 在firefox下使用jquery ajax处理 返回json类型的时候,ajax执行成功返回结果为 [object XMLDocument]. 2 3 处理办法:在getWriter.write():前面加上一行代码response().setContentType("text/html;charset=UTF-8");

利用XmlDocument操作XML文件

利用XmlDocument可以方便的操作XML文件. 1.操作XML文件基本方法 (1)添加对System.Xml的引用,并使用using语句添加引用: (2)假设要读取的XML文件如下: <?xml version="1.0" encoding="utf-8"?> <Students> <Student> <Name>张靓靓</Name> <Age>20</Age> <Hob

C# XMLDocument

今天开发一个WPF模块需要本地化保存一些用户设置,鉴于数据量不大,用XML. (要是再小的话可以用Resources 和 Settings). 清晰简短教程移步:http://bdk82924.iteye.com/blog/564353 代码如下: using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading

修复使用&lt;code&gt;XmlDocument&lt;/code&gt;加载含有DOCTYPE的Xml时,加载后增加“[]”字符的错误

C# LINQ TO XML - Remove “[]” characters from the DTD header http://stackoverflow.com/questions/12358061/c-sharp-linq-to-xml-remove-characters-from-the-dtd-header public static void FixDocumentType(this XmlDocument xml) { if (xml?.DocumentType == null

C#如何将两个XmlDocument合并为一个XmlDocument

XmlDocument xd = new XmlDocument(); //添加顶级结点(如果不添加一个节点的话,无法使用xd.DocumentElement.AppendChild,会报出:未将对象引用设置到对象的实例的错误) XmlElement xe = xd.CreateElement("XmlDocumentTest"); xd.AppendChild(xe); //第一个XmlDocument:vsXmlDocument1 XmlNode xnDesi = xd.Impor

XmlDocument.LoadXml(string) 转换问题

C#使用LoadXML要求传入的字符串必须为UTF-16编码(奇怪的要求) 解决方案是不用LoadXML方法,改用Load方法读取 代码如下: XmlDocument doc = new XmlDocument(); string str = "......."; byte[] encodedString = Encoding.UTF8.GetBytes(str); System.IO.MemoryStream ms = new System.IO.MemoryStream(encod

C#操作XML的完整例子——XmlDocument篇

这是一个用c#控制台程序下,  用XmlDocument 进行XML操作的的例子,包含了查询.增加.修改.删除.保存的基本操作.较完整的描述了一个XML的整个操作流程.适合刚入门.net XML操作的朋友参考和学习. 假设有XML文件:books.xml Xml代码   <?xml version="1.0" encoding="UTF-8"?> <books> <book> <name>哈里波特</name&g

C# XmlDocument操作XML

XML:Extensible Markup Language(可扩展标记语言)的缩写,是用来定义其它语言的一种元语言,其前身是SGML(Standard Generalized Markup Language,标准通用标记语言).它没有标签集(tag set),也没有语法规则(grammatical rule),但是它有句法规则(syntax rule).任何XML文档对任何类型的应用以及正确的解析都必须是良构的(well-formed),即每一个打开的标签都必须有匹配的结束标签,不得含有次序颠