NativeXml V4.02根节点添加属性问题
这是写XML的部分代码
这样生成出来的结果如下:
在上述代码中,通过
XMLObject := TNativeXml.CreateName('DATAPACKET');
XMLObject.AttrText('Version', '2.0');
写入不了根节点的值,请问这是什么原因造成的?
//设置导出到XML中的XML头
function DoSetXMLHead(AData: TdataSet): Boolean;
var
FNodeXML, SNodeXML: TXmlNode;
i: Integer;
begin
Result := False;
if not Assigned(XMLObject) then
XMLObject := TNativeXml.Create(Self);
try
XMLObject := TNativeXml.CreateName('DATAPACKET');
XMLObject.AttrText('Version', '2.0');
XMLObject.IndentString := ' '; //缩进空格数
XMLObject.XmlFormat := xfReadable;
FNodeXML := XMLObject.Root.NodeNew('METADATA');
SNodeXML := FNodeXML.NodeNew('FIELDS');
for i := 0 to AData.FieldCount - 1 do
begin
with SNodeXML.NodeNew('FIELD') do
begin
AttributeAdd('attrname', AData.Fields[i].FieldName);
AttributeAdd('fieldtype', 'string'); //待定
AttributeAdd('width', '20'); //待定
end;
end;
Result := True;
except
if XMLObject <> nil then XMLObject.Free;
end;
end;
这样生成出来的结果如下:
<?xml version="1.0" encoding="utf-8"?>
<DATAPACKET> //注意:这里的Version=2.0没有写入
<METADATA>
<FIELDS>
<FIELD attrname="ProviderID" fieldtype="string" width="20"/>
<FIELD attrname="TypeID" fieldtype="string" width="20"/>
<FIELD attrname="TypeName" fieldtype="string" width="20"/>
<FIELD attrname="Caption" fieldtype="string" width="20"/>
<FIELD attrname="Length" fieldtype="string" width="20"/>
</FIELDS>
</METADATA>
<ROWDATA>
</ROWDATA>
</DATAPACKET>
在上述代码中,通过
XMLObject := TNativeXml.CreateName('DATAPACKET');
XMLObject.AttrText('Version', '2.0');
写入不了根节点的值,请问这是什么原因造成的?
...全文
相关推荐
NativeXml4.02
DElphi v2007 NativeXml4.020
Delphi专用NativeXml组件库v401完整版
NativeXml是一款专为Delphi和C++Builder平台设计的轻量级、高性能XML处理组件,完全由Object Pascal编写,不依赖外部运行库(如MSXML或Libxml2),具备出色的可移植性与可读性。其核心设计理念是“简洁高效”,通过极简的API封装实现XML的解析、创建、修改与查询操作,广泛应用于桌面应用、嵌入式系统及跨平台服务开发中。为进一步解耦XML结构与业务逻辑,建议引入中间映射层,将原始XML节点转换为强类型的业务对象。
NativeXml.V4.07.FullSource.zip
NativeXml.V4.07.FullSource.zip
NativeXML V3.32
一个强大易用的XML库 -- NativeXML Maintained by Nils Haeck (SimDesign BV) Version 3.32 (18feb2015) * Reinstated this version after 4 years
SimDesign NativeXml.v2.20.for.Delphi.BCB
delphi和bcb的XML控件,它帮助你在程序中方便的加入对xml文档的读写操作。


