在XE2,實現自定義功能和它在Xml.Win.msxmldom
單元分配給全局MSXMLDOMDocumentCreate
變量:
uses
..., Xml.Win.msxmldom;
function MyCreateDOMDocument: IXMLDOMDocument;
begin
Result := CreateDOMDocument;
//...
end;
initialization
MSXMLDOMDocumentCreate := MyCreateDOMDocument;
在XE3,從TMSXMLDOMDocumentFactory
派生一個新類並覆蓋其虛擬CreateDOMDocument()
方法,然後指定自定義類全局變量TMSXMLDOMDocumentFactoryClass
在Xml.Win.msxmldom
單位:
uses
..., Xml.Win.msxmldom;
type
MyFactory = class(TMSXMLDOMDocumentFactory)
public
class function CreateDOMDocument: IXMLDOMDocument; override;
end;
class function MyFactory.CreateDOMDocument: IXMLDOMDocument;
begin
Result := inherited CreateDOMDocument;
//...
end;
initialization
TMSXMLDOMDocumentFactoryClass := MyFactory;
在EI療法的情況下,一旦你有機會獲得IXMLDOMDocument
,您可以根據需要自定義它的屬性和設置。
感謝TOndrej!還發現下面一行對MSXML msxmldom.MSXMLDOMDocumentFactory.AddDOMProperty('MaxElementDepth',1024);' – Optavius