我在解析一个XML的XSD文件时遇到一个问题, 代码段如下:
var
node : IXMLDOMDocument2;
schema_element : IShemaItemCollection2; elements : SchemaItemCollection;
SchemaCollection2 : IXMLDOMSchemaCollection2;begin
{...init the node as a root node...}
node.namespaces.QueryInterface(IID_IXMLDOMSchemaCollection2, SchemaCollection2); elements := SchemaCollection2.getDeclaration(node).schema.elements;
schema_element := elements.itemByName(node.nodeName) as ISchemaElement;
schema_element.isReferenced //!!!!每当程序运行到这个地方就会抛出一个异常
......
end;
就像注释中的,每次访问schema_element.isReferenced属性时就抛出一个EOleException with message '找不到成员'这个异常。奇怪的是,我在出问题的这句加上一个断点进行调试,使用watchlist来查看该属性时,却可以看见isReferenced = False,晕了:(
var
node : IXMLDOMDocument2;
schema_element : IShemaItemCollection2; elements : SchemaItemCollection;
SchemaCollection2 : IXMLDOMSchemaCollection2;begin
{...init the node as a root node...}
node.namespaces.QueryInterface(IID_IXMLDOMSchemaCollection2, SchemaCollection2); elements := SchemaCollection2.getDeclaration(node).schema.elements;
schema_element := elements.itemByName(node.nodeName) as ISchemaElement;
schema_element.isReferenced //!!!!每当程序运行到这个地方就会抛出一个异常
......
end;
就像注释中的,每次访问schema_element.isReferenced属性时就抛出一个EOleException with message '找不到成员'这个异常。奇怪的是,我在出问题的这句加上一个断点进行调试,使用watchlist来查看该属性时,却可以看见isReferenced = False,晕了:(
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货