📄 tree.h
字号:
struct _xmlNode *parent; /* child->parent link */ struct _xmlNode *next; /* next sibling link */ struct _xmlNode *prev; /* previous sibling link */ struct _xmlDoc *doc; /* the containing document */ xmlNs *ns; /* pointer to the associated namespace */#ifndef XML_USE_BUFFER_CONTENT xmlChar *content; /* the content */#else xmlBufferPtr content; /* the content in a buffer */#endif /* End of common part */ struct _xmlAttr *properties;/* properties list */ xmlNs *nsDef; /* namespace definitions on this node */};/* * An XML document. */typedef struct _xmlDoc xmlDoc;typedef xmlDoc *xmlDocPtr;struct _xmlDoc {#ifndef XML_WITHOUT_CORBA void *_private; /* for Corba, must be first ! */#endif xmlElementType type; /* XML_DOCUMENT_NODE, must be second ! */ char *name; /* name/filename/URI of the document */ struct _xmlNode *children; /* the document tree */ struct _xmlNode *last; /* last child link */ struct _xmlNode *parent; /* child->parent link */ struct _xmlNode *next; /* next sibling link */ struct _xmlNode *prev; /* previous sibling link */ struct _xmlDoc *doc; /* autoreference to itself */ /* End of common part */ int compression;/* level of zlib compression */ int standalone; /* standalone document (no external refs) */ struct _xmlDtd *intSubset; /* the document internal subset */ struct _xmlDtd *extSubset; /* the document external subset */ struct _xmlNs *oldNs; /* Global namespace, the old way */ const xmlChar *version; /* the XML version string */ const xmlChar *encoding; /* encoding, if any */ void *ids; /* Hash table for ID attributes if any */ void *refs; /* Hash table for IDREFs attributes if any */ const xmlChar *URL; /* The URI for that document */};/* * Variables. */extern xmlNsPtr baseDTD;extern int oldXMLWDcompatibility;/* maintain compatibility with old WD */extern int xmlIndentTreeOutput; /* try to indent the tree dumps */extern xmlBufferAllocationScheme xmlBufferAllocScheme; /* alloc scheme to use */extern int xmlSaveNoEmptyTags; /* save empty tags as <empty></empty> *//* * Handling Buffers. */xmlBufferPtr xmlBufferCreate (void);xmlBufferPtr xmlBufferCreateSize (size_t size);void xmlBufferFree (xmlBufferPtr buf);int xmlBufferDump (FILE *file, xmlBufferPtr buf);void xmlBufferAdd (xmlBufferPtr buf, const xmlChar *str, int len);void xmlBufferCat (xmlBufferPtr buf, const xmlChar *str);void xmlBufferCCat (xmlBufferPtr buf, const char *str);int xmlBufferShrink (xmlBufferPtr buf, int len);void xmlBufferEmpty (xmlBufferPtr buf);const xmlChar* xmlBufferContent (const xmlBufferPtr buf);int xmlBufferUse (const xmlBufferPtr buf);void xmlBufferSetAllocationScheme(xmlBufferPtr buf, xmlBufferAllocationScheme scheme);int xmlBufferLength (const xmlBufferPtr buf);/* * Creating/freeing new structures */xmlDtdPtr xmlCreateIntSubset (xmlDocPtr doc, const xmlChar *name, const xmlChar *ExternalID, const xmlChar *SystemID);xmlDtdPtr xmlNewDtd (xmlDocPtr doc, const xmlChar *name, const xmlChar *ExternalID, const xmlChar *SystemID);void xmlFreeDtd (xmlDtdPtr cur);xmlNsPtr xmlNewGlobalNs (xmlDocPtr doc, const xmlChar *href, const xmlChar *prefix);xmlNsPtr xmlNewNs (xmlNodePtr node, const xmlChar *href, const xmlChar *prefix);void xmlFreeNs (xmlNsPtr cur);xmlDocPtr xmlNewDoc (const xmlChar *version);void xmlFreeDoc (xmlDocPtr cur);xmlAttrPtr xmlNewDocProp (xmlDocPtr doc, const xmlChar *name, const xmlChar *value);xmlAttrPtr xmlNewProp (xmlNodePtr node, const xmlChar *name, const xmlChar *value);xmlAttrPtr xmlNewNsProp (xmlNodePtr node, xmlNsPtr ns, const xmlChar *name, const xmlChar *value);void xmlFreePropList (xmlAttrPtr cur);void xmlFreeProp (xmlAttrPtr cur);xmlAttrPtr xmlCopyProp (xmlNodePtr target, xmlAttrPtr cur);xmlAttrPtr xmlCopyPropList (xmlNodePtr target, xmlAttrPtr cur);xmlDtdPtr xmlCopyDtd (xmlDtdPtr dtd);xmlDocPtr xmlCopyDoc (xmlDocPtr doc, int recursive);/* * Creating new nodes */xmlNodePtr xmlNewDocNode (xmlDocPtr doc, xmlNsPtr ns, const xmlChar *name, const xmlChar *content);xmlNodePtr xmlNewDocRawNode (xmlDocPtr doc, xmlNsPtr ns, const xmlChar *name, const xmlChar *content);xmlNodePtr xmlNewNode (xmlNsPtr ns, const xmlChar *name);xmlNodePtr xmlNewChild (xmlNodePtr parent, xmlNsPtr ns, const xmlChar *name, const xmlChar *content);xmlNodePtr xmlNewTextChild (xmlNodePtr parent, xmlNsPtr ns, const xmlChar *name, const xmlChar *content);xmlNodePtr xmlNewDocText (xmlDocPtr doc, const xmlChar *content);xmlNodePtr xmlNewText (const xmlChar *content);xmlNodePtr xmlNewPI (const xmlChar *name, const xmlChar *content);xmlNodePtr xmlNewDocTextLen (xmlDocPtr doc, const xmlChar *content, int len);xmlNodePtr xmlNewTextLen (const xmlChar *content, int len);xmlNodePtr xmlNewDocComment (xmlDocPtr doc, const xmlChar *content);xmlNodePtr xmlNewComment (const xmlChar *content);xmlNodePtr xmlNewCDataBlock (xmlDocPtr doc, const xmlChar *content, int len);xmlNodePtr xmlNewCharRef (xmlDocPtr doc, const xmlChar *name);xmlNodePtr xmlNewReference (xmlDocPtr doc, const xmlChar *name);xmlNodePtr xmlCopyNode (xmlNodePtr node, int recursive);xmlNodePtr xmlCopyNodeList (xmlNodePtr node);xmlNodePtr xmlNewDocFragment (xmlDocPtr doc);/* * Navigating */xmlNodePtr xmlDocGetRootElement (xmlDocPtr doc);xmlNodePtr xmlGetLastChild (xmlNodePtr parent);int xmlNodeIsText (xmlNodePtr node);int xmlIsBlankNode (xmlNodePtr node);/* * Changing the structure */xmlNodePtr xmlDocSetRootElement (xmlDocPtr doc, xmlNodePtr root);void xmlNodeSetName (xmlNodePtr cur, const xmlChar *name);xmlNodePtr xmlAddChild (xmlNodePtr parent, xmlNodePtr cur);xmlNodePtr xmlReplaceNode (xmlNodePtr old, xmlNodePtr cur);xmlNodePtr xmlAddSibling (xmlNodePtr cur, xmlNodePtr elem);xmlNodePtr xmlAddPrevSibling (xmlNodePtr cur, xmlNodePtr elem);xmlNodePtr xmlAddNextSibling (xmlNodePtr cur, xmlNodePtr elem);void xmlUnlinkNode (xmlNodePtr cur);xmlNodePtr xmlTextMerge (xmlNodePtr first, xmlNodePtr second);void xmlTextConcat (xmlNodePtr node, const xmlChar *content, int len);void xmlFreeNodeList (xmlNodePtr cur);void xmlFreeNode (xmlNodePtr cur);int xmlRemoveProp (xmlAttrPtr cur);/* * Namespaces */xmlNsPtr xmlSearchNs (xmlDocPtr doc, xmlNodePtr node, const xmlChar *nameSpace);xmlNsPtr xmlSearchNsByHref (xmlDocPtr doc, xmlNodePtr node, const xmlChar *href);xmlNsPtr * xmlGetNsList (xmlDocPtr doc, xmlNodePtr node);void xmlSetNs (xmlNodePtr node, xmlNsPtr ns);xmlNsPtr xmlCopyNamespace (xmlNsPtr cur);xmlNsPtr xmlCopyNamespaceList (xmlNsPtr cur);/* * Changing the content. */xmlAttrPtr xmlSetProp (xmlNodePtr node, const xmlChar *name, const xmlChar *value);xmlChar * xmlGetProp (xmlNodePtr node, const xmlChar *name);xmlChar * xmlGetNsProp (xmlNodePtr node, const xmlChar *name, const xmlChar *nameSpace);xmlNodePtr xmlStringGetNodeList (xmlDocPtr doc, const xmlChar *value);xmlNodePtr xmlStringLenGetNodeList (xmlDocPtr doc, const xmlChar *value, int len);xmlChar * xmlNodeListGetString (xmlDocPtr doc, xmlNodePtr list, int inLine);void xmlNodeSetContent (xmlNodePtr cur, const xmlChar *content);void xmlNodeSetContentLen (xmlNodePtr cur, const xmlChar *content, int len);void xmlNodeAddContent (xmlNodePtr cur, const xmlChar *content);void xmlNodeAddContentLen (xmlNodePtr cur, const xmlChar *content, int len);xmlChar * xmlNodeGetContent (xmlNodePtr cur);xmlChar * xmlNodeGetLang (xmlNodePtr cur);void xmlNodeSetLang (xmlNodePtr cur, const xmlChar *lang);int xmlNodeGetSpacePreserve (xmlNodePtr cur);xmlChar * xmlNodeGetBase (xmlDocPtr doc, xmlNodePtr cur);/* * Removing content. */int xmlRemoveProp (xmlAttrPtr attr);int xmlRemoveNode (xmlNodePtr node); /* TODO *//* * Internal, don't use */void xmlBufferWriteCHAR (xmlBufferPtr buf, const xmlChar *string);void xmlBufferWriteChar (xmlBufferPtr buf, const char *string);void xmlBufferWriteQuotedString(xmlBufferPtr buf, const xmlChar *string);/* * Namespace handling */int xmlReconciliateNs (xmlDocPtr doc, xmlNodePtr tree);/* * Saving */void xmlDocDumpMemory (xmlDocPtr cur, xmlChar**mem, int *size);void xmlDocDump (FILE *f, xmlDocPtr cur);void xmlElemDump (FILE *f, xmlDocPtr cur, xmlNodePtr elem);int xmlSaveFile (const char *filename, xmlDocPtr cur);/* * Compression */int xmlGetDocCompressMode (xmlDocPtr doc);void xmlSetDocCompressMode (xmlDocPtr doc, int mode);int xmlGetCompressMode (void);void xmlSetCompressMode (int mode);#ifdef __cplusplus}#endif#endif /* __XML_TREE_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -