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");
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");
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货