1.c#的源码
namespace XmlReader
{
  using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Text;
  using System.Xml;
  public interface IxmlReader
  {
    string SearchXML(String Path,String input);
  } 
  public class CDATAReader: IxmlReader
  {
          /// <summary>
        /// SearchXML(String Path,String input)三个string类型的参数,依次为操作文件的路径,停止处节点的名字
        /// </summary>
        /// <param name="Path"></param>
        /// <param name="val"></param>
        /// <param name="input"></param>
        /// <returns></returns>
        public CDATAReader(){}
        ~CDATAReader(){}
        public string SearchXML(String Path,String input)
        {
            string x="";
            XmlDocument doc = new XmlDocument();
            doc.Load(Path);
            XmlNodeReader NewReader = new XmlNodeReader(doc);
            while (NewReader.Read())
            {
                switch (NewReader.NodeType)
                {
                    case XmlNodeType.CDATA:
                        x = x + NewReader.Value;
                        break;
                }
                if (NewReader.Name == input)
                {
                    break; 
                }            }
            return x;
        }   }
 }
2.转换
Csc.exe /t:library /out:F:\3\CDAReader.dll F:\3\CDAReader.cs
Tlbexp.exe F:\3\CDAReader.dll /out:F:\3\CDAReader.tlb
Regasm.exe F:\3\CDAReader.dll /regfile: F:\3\CDAReader.reg
Regasm.exe /tlb F:\3\CDAReader.dll
3.在bcb中用到的主代码
OleInitialize(NULL);
    HRESULT hr ;
   // hr=CoCreateInstance(CLSID_CDATAReader,NULL,CLSCTX_LOCAL_SERVER,IID_IxmlReader,(VOID**)&Fcal);
    hr=CoCreateInstance(CLSID_CDATAReader,NULL,CLSCTX_INPROC_SERVER,IID_IxmlReader,(VOID**)&Fcal);
if(SUCCEEDED(hr))
{
MessageBox(Handle,"Successfully22","OK",MB_OK);
}
else
{
ShowMessage("shibai22");
}
4.说明:程序总是执行到ShowMessage("shibai22");