如何在delphi中给生成的xml文件加上 以下内容
<?xml version="1.0" encoding="GBK" ?>
- <!-- DOCTYPE RZ00100 SYSTEM "hello"
-->
<?xml version="1.0" encoding="GBK" ?>
- <!-- DOCTYPE RZ00100 SYSTEM "hello"
-->
解决方案 »
- 救急!!请大侠们过来看看!!!!
- 在WORD中,让图形衬托于文字下方,不成功!
- 请问DELPHI能写防火墙吗?
- 菜鸟问题,见凉,free 和destroy有什么区别啊?
- 动态创建的listview控件如何响应其columnclick事件?
- 如何实现截屏,能否给出一段源码?
- 有"能检查各个端口发出的数据 "的软件吗?
- 请问有什么工具可以看到DLL里面的函数?
- 如何在Win98下实现类似WinNT下的Net Send命令?
- 发生"missing connection or connectionstring"错误是什么意思?
- 请教各位高手,有没有高效的方法可以在查询的结果中进行二次查询?
- 窗体resize后,控件自动调整大小.求代码!
var XMLFile:TStringList;
begin
XMLFile:=TStringList.Create;
XMLFile.Clear;
XMLFile.Add('<?xml version="1.0" encoding="GBK" ?> ');
XMLFile.Add('<!-- DOCTYPE RZ00100 SYSTEM "hello" -->');
XMLFile.SaveToFile(AFileName);
XMLFile.Free;
end;/ by LY http://lysoft.7u7.net http://liuyang.7i24.com http://lysoft.91i.net
<?xml version="1.0" encoding="GBK" ?>
- <!-- DOCTYPE RZ00100 SYSTEM "hello"
-->??我是用IXMLDomDocument来生成 xml文件的
doc := CreateOleObject('Microsoft.XMLDOM') as IXMLDomDocument;另外想问
在生成 xml文件时。我想得到下面的结果
<Row id="1">
我用以下语句 child2:= doc.createElement('Row' +' '+ 'id=' + '"1"'); 但是提示出错。xml要替换 空格、等于号,和双引号。应该怎么样可以得到<Row id="1">
使用XML DOM的方法:
child2:=doc.createElement('Row');
AttrNode:=doc.createAttribute('id');
AttrNode.nodeValue:='1';
child2.attributes.setNamedItem(AttrNode);如果是使用IXMLNODE ,
vNode:=vRoot.AddChild('Row');
vNode.Attributes['id']:=1;
这个问题已解决,谢谢,halfdream(哈欠) 我将会给分。能帮我在生成xml文件的同时也生成文件头
<?xml version="1.0" encoding="GBK" ?>
- <!-- DOCTYPE RZ00100 SYSTEM "hello"
-->??
我用的是XMLDocument
procedure TForm1.Button1Click(Sender: TObject);
var
vRoot:IXMLNode;
vNode:IXMLNode;
vCmnt:IDOMNode;
tmpstr:string;
begin
tmpstr:='DOCTYPE RZ00100 SYSTEM "hello" ';
with XMLDocument1 do
begin
Active:=true;
vCmnt:=DOMDocument.createComment(tmpstr);
DOMDocument.appendChild(vCmnt); vRoot:=AddChild('root');
vNode:=vRoot.AddChild('action');
vNode.Attributes['say']:='hello';
Encoding:='gb2312'; ShowMessage(XML.Text);
end;end;
你用xmlDomDocument生成了文件头?xml文件我生成了。
但是
<?xml version="1.0" encoding="GBK" ?>
- <!-- DOCTYPE RZ00100 SYSTEM "hello"
-->??
生成不了!!!!!!!!!!!
<!--DOCTYPE RZ00100 SYSTEM "hello" -->
<root><action say="hello"/></root>
我用 vCmnt:=DOMDocument.createComment(tmpstr);
DOMDocument.appendChild(vCmnt);
在IXMLDomDocument也可以实现<!--DOCTYPE RZ00100 SYSTEM "hello" -->那生成<?xml version="1.0" encoding="GBK"?> 要怎样写呢?
在IXMLDomDocument中
if GetDOMDocument.QueryInterface(IDOMXMLProlog, PrologInfo) = S_OK then
begin
......
PrologInfo.Encoding := Value;
.....
end;
end你一看应该明白的.
不明白怎么定义PrologInfo能把PrologInfo完整写出来吗?
在DELPHI6(未加SP2)中是这样实现的,
但在引入的3.0MS XML却不那么如意。
指定version,standalone等都好办,encoding的指定后在输出的XML却看不到。
一时想不清原因何在,也许同不同版本DOM有关。网上很多解决方法是生成XML后,在XML搜索然后插入encoding=XXX字符。。
var
IXMLDoc: TXMLDocument;
begin
IXMLDoc:=TXMLDocument.Create(self);
IXMLDoc.Active:=true;
IXMLDoc.Encoding := 'GB2312';
IXMLDoc.Version:='1.0';
IXMLDoc.AddChild('FLASHMSG');
IXMLDoc.SaveToFile('d:\test.xml');
end;end.
这种方法是可以的,但不是现在的问题。
现在问题是用引入的MSXML类型库处理。