XML内容如下
<?xml version="1.0" encoding="GBK"?>
<DataPacket Version="1.0">
<Data Name="returnMessage"><![CDATA[<><><>连接开票软件失败。]]></Data>
</DataPacket>请问用DELPHI6有能解析出ReturnMessage中的数据吗?Delphi6进入循环里面就报地址错误,各位大神帮指点下 procedure TForm1.btn1Click(Sender: TObject);
var
xmlDuc: IxmlDocument;
root: IXMLNode;
i: integer;
sName, sValue: string;
begin
try
xmlDuc := LoadXMLDocument('d:\a.xml');
xmlDuc.Active := true;
root := xmlDuc.DocumentElement;
ShowMessage(IntToStr(root.ChildNodes.Count));
for i := 0 to root.ChildNodes.count - 1 do
begin
if not root.ChildNodes[i].HasAttribute('Name') then continue;
sName := root.ChildNodes[i].Attributes['Name'];
sValue := root.ChildNodes[i].NodeValue;
end;
ShowMessage(sName+sValue);
except
end;
end;
<?xml version="1.0" encoding="GBK"?>
<DataPacket Version="1.0">
<Data Name="returnMessage"><![CDATA[<><><>连接开票软件失败。]]></Data>
</DataPacket>请问用DELPHI6有能解析出ReturnMessage中的数据吗?Delphi6进入循环里面就报地址错误,各位大神帮指点下 procedure TForm1.btn1Click(Sender: TObject);
var
xmlDuc: IxmlDocument;
root: IXMLNode;
i: integer;
sName, sValue: string;
begin
try
xmlDuc := LoadXMLDocument('d:\a.xml');
xmlDuc.Active := true;
root := xmlDuc.DocumentElement;
ShowMessage(IntToStr(root.ChildNodes.Count));
for i := 0 to root.ChildNodes.count - 1 do
begin
if not root.ChildNodes[i].HasAttribute('Name') then continue;
sName := root.ChildNodes[i].Attributes['Name'];
sValue := root.ChildNodes[i].NodeValue;
end;
ShowMessage(sName+sValue);
except
end;
end;
解决方案 »
- 如何读取本机的硬件配置信息--大家帮帮忙吧!!!
- 面试IQ题
- paradox表中备注字段的查找问题?
- 分好多,放
- 那位大哥知道AddPrinterDriver的使用方法?
- 这样的界面是在什么编程语言环境下实现的?急!急!!急!!!
- 请教webbrowser 打开网页后,提交够的源文件怎么获得?
- 请问listview如何添加非数据库数据?
- 为什么呀!在QRBand上添加一个QRDBText,数据库连接完毕Active属性true,可为什么(看里面吧。。。)
- 请问插入OLE对象的方法(不用插入对象对话框)?
- delphi向窗口发送汉字的奇怪问题
- 跪求有用过icop控件dzdiocpnew的朋友帮忙
<?xml version="1.0"?>
<DataPacket Version="1.0">
<Data Name="returnMessage">
<![CDATA[<><><>连接开票软件失败。]]>
</Data>
</DataPacket>结构分析:
根节点:DataPacket,根节点仅一个子节点,
子节点Data,数据为空(无节点)。
<Data Name="returnMessage">是根结点的属性值。
<![CDATA[<><><>连接开票软件失败。]]>也是根结点的属性值,但它是注释句。
<![CDATA [...]]>二进制数据;其中"<><><>连接开票软件失败"是注释名中的属性值。
把
<![CDATA[<><><>连接开票软件失败。]]>
——
这字串里的尖括号都去掉