如何按照已知的xsd文件读出,生成xml文件?(300分)

  • 主题发起人 主题发起人 newsweep
  • 开始时间 开始时间
N

newsweep

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,请不吝赐教,分数不是问题
 
各位老大
偶也遇到同样的问题
偶利用XML DATA BINDING向导,使用XSD文档生成了一个对象
可是这个对象没有SAVE属性
请问如何输出?
 
我不想用工具去转,而是想在程序中实现读取,生成XML文档
 
各位大虾,真没人用过吗?帮忙研究一下吧
 
XMLTransformReplay.TransformationFile := 'D:/rx/aa.xtr';
XMLTransformReplay.SourceXmlFile := 'D:/rx/aa.xml';
xmldata := XMLTransformReplay.Data;
Memo1.Lines.Text :=xmldata;
memo1.Lines.SaveToFile('D:/rx/xml.xml');
 
jipi:
谢谢!但你那样还是需要一个SourceXmlFile呢,我是想直接从xsd-->xml
 
我也是用XML DATA BINDING
TO:CX139
可以用XML DATA BINDING中的Getxxx( xmldoc )来创建对象
XXX是你的根节点名,XMLDOC是一个XMLDOCUMENT控件
然后就可以操作你的IXMLXXX,最后把XMLDOC保存即可
 
to:猛禽
给个例子如何?
我在XML方面还没有入门
 
在Delphi7中新建一个项目,然后点击菜单File-New-Other,选择XML data binding,按照向导提示加入指定的XSD文件,系统会自动生成一个声明有IXMLYlfwgs对象的单元文件。只要在项目文件中添加这个单元文件,就可以在程序中方便的使用IXMLYlfwgs对象。
利用生成的单元文件中GetXXX(XMLDOC)函数来创建对象,其中XXX为根节点名,XMLDOC是一个XMLDOCUMENT控件,然后对IXMLXXX对象进行赋值等操作,最后调用XMLDOC的SaveToFile过程保存XML文件,程序样例如下:
var x1 : IXMLYlfwgs;
//定义对象
x1 := getylfwgs(xmldoc1);
//创建对象并关联到XMLDOC1
x1.Jsf :=edit1.Text;
//为子节点赋值
……
……
xmldoc1.Encoding := 'GB2312';
//设定XML文件的字符集
xmldoc1.SaveToFile('aaa.xml');
//保存XML文件
 
同意猛禽的方法,举例如下:
var
xml:IXMLDocument;
xml1:你绑定的对象类
begin
XML:=TXMLDocument.Create(self);
XML.Active := True;
xml1:=GetXXX(XML);//GetXXX也是由绑定自动生成
//然后对用绑定生成的类对xml1进行操作
//存储时还是使用XML
XML.SaveToFile(filename);
end
 
后退
顶部