VCOM:VectorWorks:Filing:IXMLFile
From Vectorworks Developer
.SDK|SDK ..SDK:Types|SDK Types ..VCOM:VCOM (Vectorworks Component Object Model)|VCOM Basics ..VCOM:Class Reference|VCOM Class Reference
Description
namespaceVectorWorks::Filing
This class allows reading and writing XML files. The XML file is represented by three hierarchy instances of VectorWorks::Filing::IXMLFileNode interface.
Note XML Files have only one root node.
Interface
// ---------------------------------------------------------------------------------------------------- // {7274D087-3799-11DB-9C35-00508D5E9851} static const VWIID IID_XMLFile = { 0x7274D087, 0x3799, 0x11DB, { 0x9C, 0x35, 0x00, 0x50, 0x8D, 0x5E, 0x98, 0x51 } }; class IXMLFile : public IVWUnknown { public: virtual VCOMError VCOM_CALLTYPE CreateNew(const TXString& rootName) = 0; virtual VCOMError VCOM_CALLTYPE ReadFile(IFileIdentifier* pFileID) = 0; virtual VCOMError VCOM_CALLTYPE ReadBuffer(IXMLFileIOBuffer* pInputBuffer, EXMLEncoding encoding) = 0; virtual VCOMError VCOM_CALLTYPE WriteFile(IFileIdentifier* pFileID, EXMLEncoding encoding) = 0; virtual VCOMError VCOM_CALLTYPE WriteBuffer(IXMLFileIOBuffer* pOutputBuffer, EXMLEncoding encoding) = 0; virtual VCOMError VCOM_CALLTYPE GetRootNode(IXMLFileNode** ppOutNode) = 0; virtual VCOMError VCOM_CALLTYPE GetLastError(EXMLFileError& outError) = 0; virtual VCOMError VCOM_CALLTYPE SetFeature(EXMLFileFeature feature, bool bValue) = 0; };
Members
CreateNew Creates a new XML file structure. ReadFile Reads an XML file from IFileIdentifier. ReadBuffer Reads an XML file from memory buffer. WriteFile Writes an XML file structure into IFileIdentifier file. WriteBuffer Writes an XML file structure into memory buffer. GetRootNode Returns VectorWorks::Filing::IXMLFileNode instance of the root node of the XML file. GetLastError Obtain the last error that happened during XML processing. SetFeature Set feature of the XML processing instance.
Remarks
Note XML Files have only one root node.There is predefined type for smart VCOM pointer VCOMPtr to IXmlFile interface:
typedef VCOMPtr<IXmlFile> IXmlFilePtr;
XML routines can return one of the following eror codes:
const VCOMError kVCOMError_XMLFile_UnknownError = 100; const VCOMError kVCOMError_XMLFile_MemoryError = 101; const VCOMError kVCOMError_XMLFile_Parser = 102; const VCOMError kVCOMError_XMLFile_NoAttribute = 103; const VCOMError kVCOMError_XMLFile_CannotCreateNode = 104; const VCOMError kVCOMError_XMLFile_ElementNotFound = 105; const VCOMError kVCOMError_XMLFile_BadArrayIndex = 106; const VCOMError kVCOMError_XMLFile_BadName = 107; const VCOMError kVCOMError_XMLFile_DOMError = 108; const VCOMError kVCOMError_XMLFile_XercesException = 109;
Example
See VCOM:Working with XML FilesVersion
Available from: VectorWorks 12See Also
VCOM:VCOMPtr | VCOM:VectorWorks:Filing:IFolderIdentifier | VCOM:VectorWorks:Filing:IFileIdentifier | VCOM:VectorWorks:Filing:IXMLFileNode[[VCOM:VCOMPtr]] | [[VCOM:VectorWorks:Filing:IFolderIdentifier]] | [[VCOM:VectorWorks:Filing:IFileIdentifier]] | [[VCOM:VectorWorks:Filing:IXMLFileNode]]