DELPHI操作XML添加DOCTYPE部分信息
2008-12-04 22:24
489 查看
最近其他项目组遇到一个数据导出XML的小问题,因为我以前对操作XML比较熟悉,自然找到我帮助结局。其实DELPHI操作XML还是很方便的,问题出在他们的XML头部必须有 !DOCTYPE 部分 例如下面的XML代码:
<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE math SYSTEM "http://www.w3.org/Math/DTD/mathml1/mathml.dtd">
<root>
<test>
<add key="-1" filename="oFile"/>
</test>
</root>
对于在C#中很好操作,DELPHI这部分代码相对较少,在GOOGLE上搜索也没结果,于是我看了一下DELPHI的 NativeXml.pas 源代码,发现其中有 xeDoctype 的定义,这正是我们要找的。哈。。
定义XML DOCTYPE 的 DELPHI代码如下:
uses NativeXml
procedure TForm1.Button1Click(Sender: TObject);
var
xml: TNativeXML;
n_bs: TXMLNode;
begin
xml := TNativeXml.CreateName('root');
xml.EncodingString := 'GB2312';
xml.XmlFormat := xfReadable;
//正常XML部分
n_bs := xml.Root.NodeNew('test');
n_bs := n_bs.NodeNew('add');
n_bs.WriteAttributeString('key', '-1');
n_bs.WriteAttributeString('filename', 'oFile');
//添加 <!DOCTYPE ?> 部分
n_bs := TXmlNode.CreateType(xml, xeDoctype);
n_bs.ValueDirect := 'math SYSTEM "http://www.w3.org/Math/DTD/mathml1/mathml.dtd"';
xml.RootNodeList.NodeInsert(1, n_bs);
xml.SaveToFile('1.xml');
end;
这样我们就输出上面的XML文件了。
<?xml version="1.0" encoding="GB2312"?>
<!DOCTYPE math SYSTEM "http://www.w3.org/Math/DTD/mathml1/mathml.dtd">
<root>
<test>
<add key="-1" filename="oFile"/>
</test>
</root>
对于在C#中很好操作,DELPHI这部分代码相对较少,在GOOGLE上搜索也没结果,于是我看了一下DELPHI的 NativeXml.pas 源代码,发现其中有 xeDoctype 的定义,这正是我们要找的。哈。。
定义XML DOCTYPE 的 DELPHI代码如下:
uses NativeXml
procedure TForm1.Button1Click(Sender: TObject);
var
xml: TNativeXML;
n_bs: TXMLNode;
begin
xml := TNativeXml.CreateName('root');
xml.EncodingString := 'GB2312';
xml.XmlFormat := xfReadable;
//正常XML部分
n_bs := xml.Root.NodeNew('test');
n_bs := n_bs.NodeNew('add');
n_bs.WriteAttributeString('key', '-1');
n_bs.WriteAttributeString('filename', 'oFile');
//添加 <!DOCTYPE ?> 部分
n_bs := TXmlNode.CreateType(xml, xeDoctype);
n_bs.ValueDirect := 'math SYSTEM "http://www.w3.org/Math/DTD/mathml1/mathml.dtd"';
xml.RootNodeList.NodeInsert(1, n_bs);
xml.SaveToFile('1.xml');
end;
这样我们就输出上面的XML文件了。
相关文章推荐
- delphi操作xml之添加注释节点
- Struts学习总结(八)---使用Struts2实现用户信息的CRUD操作(二:添加操作)
- C#中对 XML节点进行添加,删除,查找和删除操作
- 给Delphi程序(exe,dll)添加版本信息
- asp.net操作xml实现创建,添加,删除
- delphi 注册表操作(读取、添加、删除、修改)完全手册
- C# 实现对XML文件的基本操作(创建xml文件,增、删、改、查 xml节点信息)
- JavaEE之使用DOM4J和XPath对xml文档的添加,删除,查询操作
- delphi 生成xml 方法 与 delphi txt文件操作
- AS3操作XML添加节点
- Delphi操作XML(五)
- Delphi操作XML:数据类型
- Delphi操作XML(八)
- xml 操作(动态添加 property属性 其他节点同理)
- 如何用xml進行相關信息排序及添加右擊事件
- C#操作Xml全集示例篇,基本实现添加,删除,更新等操作
- 实验D_JSP中JAXP操作XML显示查询添加删除
- 黄聪:Delphi 中的 XMLDocument 类详解(8) - 添加与删除节点
- Delphi中使用XML绑定来操作XML文件
- unity中向xml添加对象信息