增加了从内存解析XML的tinyxml

  • E7_188391
    了解作者
  • 846KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-26 00:39
    上传日期
增加了从内存解析XML的tinyxml,添加了直接将缓存中的XML数据进行解析的接口和将XML数据写入到缓存的接口。
tinyxml.rar
  • tinyxml
  • tinyXmlTest___Win32_Debug
  • vc60.pdb
    60KB
  • xmltest.sbr
    46KB
  • vc60.idb
    49KB
  • tinyXmlTest.exe
    300.1KB
  • tinyXmlTest.ilk
    376KB
  • xmltest.obj
    170.1KB
  • tinyXmlTest.pdb
    577KB
  • Debug
  • tinyxmlerror.sbr
    34.3KB
  • vc60.pdb
    68KB
  • tinyxmlparser.sbr
    44.1KB
  • tinyxmld.lib
    352.2KB
  • vc60.idb
    57KB
  • tinystr.sbr
    7.2KB
  • tinystr.obj
    20.3KB
  • tinyxmlparser.obj
    102.4KB
  • tinyxml.obj
    191.4KB
  • tinyxmlerror.obj
    5.6KB
  • tinyxml.sbr
    50.9KB
  • docs
  • files.html
    1.2KB
  • tinystr_8h-source.html
    27.7KB
  • index.html
    22.5KB
  • classTiXmlDeclaration-members.html
    19.8KB
  • classTiXmlElement.png
    468B
  • classTiXmlComment-members.html
    18.6KB
  • classTiXmlDocument.html
    28KB
  • pages.html
    1KB
  • classTiXmlUnknown.png
    461B
  • functions_enum.html
    1.7KB
  • tinyxml_8h-source.html
    165.7KB
  • classTiXmlElement.html
    26.9KB
  • classTiXmlVisitor.html
    7.9KB
  • tab_b.gif
    35B
  • classTiXmlDeclaration.html
    10.4KB
  • classTiXmlHandle-members.html
    5.4KB
  • classTiXmlAttribute.html
    14.9KB
  • classTiXmlDeclaration.png
    503B
  • doxygen.png
    1.3KB
  • deprecated.html
    2.2KB
  • hierarchy.html
    2.1KB
  • classTiXmlPrinter.html
    14KB
  • classTiXmlUnknown.html
    6.6KB
  • classTiXmlAttribute-members.html
    7.9KB
  • classTiXmlElement-members.html
    22.5KB
  • classTiXmlComment.html
    7.4KB
  • annotated.html
    3.5KB
  • classTiXmlBase.png
    1.4KB
  • classTiXmlPrinter.png
    358B
  • classTiXmlBase-members.html
    3.6KB
  • tutorial0.html
    22.4KB
  • classTiXmlNode.png
    1.3KB
  • classTiXmlDocument.png
    480B
  • doxygen.css
    7.9KB
  • classTiXmlBase.html
    15.1KB
  • classTiXmlDocument-members.html
    23.2KB
  • functions_rela.html
    1.8KB
  • classTiXmlComment.png
    467B
  • classTiXmlVisitor-members.html
    3.4KB
  • classTiXmlNode-members.html
    18.1KB
  • tab_r.gif
    2.5KB
  • classTiXmlNode.html
    58.8KB
  • tab_l.gif
    706B
  • functions_vars.html
    1.7KB
  • classTiXmlUnknown-members.html
    18.1KB
  • classTiXmlPrinter-members.html
    5.2KB
  • tabs.css
    1.7KB
  • classTiXmlText.html
    10KB
  • classTiXmlHandle.html
    23KB
  • classTiXmlVisitor.png
    369B
  • classTiXmlText.png
    446B
  • classTiXmlAttribute.png
    375B
  • classTiXmlText-members.html
    19KB
  • functions.html
    18.1KB
  • functions_func.html
    17.4KB
  • tinyXmlTest.ncb
    33KB
  • tinyXmlTestSTL.vcproj
    5.3KB
  • utf8testverify.xml
    692B
  • tinyxml.PFI
    48B
  • tinyXmlTest.dsw
    547B
  • tinyxml.opt
    68.5KB
  • tinyxml_lib.vcproj
    5.5KB
  • tinystr.h
    8.9KB
  • tinystr.cpp
    2.7KB
  • xmltest.cpp
    38.5KB
  • test6.xml
    72B
  • tinyxml.WK3
    21.6KB
  • tinyxml.cpp
    42.5KB
  • tinyXmlTestSTL.dsp
    4.3KB
  • textfile.txt
    157B
  • tinyxmlparser.cpp
    38.1KB
  • tinyXmlTest.plg
    1.3KB
  • utf8test.xml
    690B
  • utf8test.gif
    14.5KB
  • tinyxmlSTL.dsp
    3.4KB
  • echo.dsp
    4.4KB
  • tinyxml.h
    65.5KB
  • tinyxml_lib.dsp
    3.4KB
内容介绍
/** @mainpage <h1> TinyXML </h1> TinyXML is a simple, small, C++ XML parser that can be easily integrated into other programs. <h2> What it does. </h2> In brief, TinyXML parses an XML document, and builds from that a Document Object Model (DOM) that can be read, modified, and saved. XML stands for "eXtensible Markup Language." It allows you to create your own document markups. Where HTML does a very good job of marking documents for browsers, XML allows you to define any kind of document markup, for example a document that describes a "to do" list for an organizer application. XML is a very structured and convenient format. All those random file formats created to store application data can all be replaced with XML. One parser for everything. The best place for the complete, correct, and quite frankly hard to read spec is at <a href="http://www.w3.org/TR/2004/REC-xml-20040204/" rel='nofollow' onclick='return false;'> http://www.w3.org/TR/2004/REC-xml-20040204/</a>. An intro to XML (that I really like) can be found at <a href="http://skew.org/xml/tutorial/" rel='nofollow' onclick='return false;'>http://skew.org/xml/tutorial</a>. There are different ways to access and interact with XML data. TinyXML uses a Document Object Model (DOM), meaning the XML data is parsed into a C++ objects that can be browsed and manipulated, and then written to disk or another output stream. You can also construct an XML document from scratch with C++ objects and write this to disk or another output stream. TinyXML is designed to be easy and fast to learn. It is two headers and four cpp files. Simply add these to your project and off you go. There is an example file - xmltest.cpp - to get you started. TinyXML is released under the ZLib license, so you can use it in open source or commercial code. The details of the license are at the top of every source file. TinyXML attempts to be a flexible parser, but with truly correct and compliant XML output. TinyXML should compile on any reasonably C++ compliant system. It does not rely on exceptions or RTTI. It can be compiled with or without STL support. TinyXML fully supports the UTF-8 encoding, and the first 64k character entities. <h2> What it doesn't do. </h2> TinyXML doesn't parse or use DTDs (Document Type Definitions) or XSLs (eXtensible Stylesheet Language.) There are other parsers out there (check out www.sourceforge.org, search for XML) that are much more fully featured. But they are also much bigger, take longer to set up in your project, have a higher learning curve, and often have a more restrictive license. If you are working with browsers or have more complete XML needs, TinyXML is not the parser for you. The following DTD syntax will not parse at this time in TinyXML: @verbatim <!DOCTYPE Archiv [ <!ELEMENT Comment (#PCDATA)> ]> @endverbatim because TinyXML sees this as a !DOCTYPE node with an illegally embedded !ELEMENT node. This may be addressed in the future. <h2> Tutorials. </h2> For the impatient, here is a tutorial to get you going. A great way to get started, but it is worth your time to read this (very short) manual completely. - @subpage tutorial0 <h2> Code Status. </h2> TinyXML is mature, tested code. It is very stable. If you find bugs, please file a bug report on the sourceforge web site (www.sourceforge.net/projects/tinyxml). We'll get them straightened out as soon as possible. There are some areas of improvement; please check sourceforge if you are interested in working on TinyXML. <h2> Related Projects </h2> TinyXML projects you may find useful! (Descriptions provided by the projects.) <ul> <li> <b>TinyXPath</b> (http://tinyxpath.sourceforge.net). TinyXPath is a small footprint XPath syntax decoder, written in C++.</li> <li> <b>TinyXML++</b> (http://code.google.com/p/ticpp/). TinyXML++ is a completely new interface to TinyXML that uses MANY of the C++ strengths. Templates, exceptions, and much better error handling.</li> </ul> <h2> Features </h2> <h3> Using STL </h3> TinyXML can be compiled to use or not use STL. When using STL, TinyXML uses the std::string class, and fully supports std::istream, std::ostream, operator<<, and operator>>. Many API methods have both 'const char*' and 'const std::string&' forms. When STL support is compiled out, no STL files are included whatsoever. All the string classes are implemented by TinyXML itself. API methods all use the 'const char*' form for input. Use the compile time #define: TIXML_USE_STL to compile one version or the other. This can be passed by the compiler, or set as the first line of "tinyxml.h". Note: If compiling the test code in Linux, setting the environment variable TINYXML_USE_STL=YES/NO will control STL compilation. In the Windows project file, STL and non STL targets are provided. In your project, It's probably easiest to add the line "#define TIXML_USE_STL" as the first line of tinyxml.h. <h3> UTF-8 </h3> TinyXML supports UTF-8 allowing to manipulate XML files in any language. TinyXML also supports "legacy mode" - the encoding used before UTF-8 support and probably best described as "extended ascii". Normally, TinyXML will try to detect the correct encoding and use it. However, by setting the value of TIXML_DEFAULT_ENCODING in the header file, TinyXML can be forced to always use one encoding. TinyXML will assume Legacy Mode until one of the following occurs: <ol> <li> If the non-standard but common "UTF-8 lead bytes" (0xef 0xbb 0xbf) begin the file or data stream, TinyXML will read it as UTF-8. </li> <li> If the declaration tag is read, and it has an encoding="UTF-8", then TinyXML will read it as UTF-8. </li> <li> If the declaration tag is read, and it has no encoding specified, then TinyXML will read it as UTF-8. </li> <li> If the declaration tag is read, and it has an encoding="something else", then TinyXML will read it as Legacy Mode. In legacy mode, TinyXML will work as it did before. It's not clear what that mode does exactly, but old content should keep working.</li> <li> Until one of the above criteria is met, TinyXML runs in Legacy Mode.</li> </ol> What happens if the encoding is incorrectly set or detected? TinyXML will try to read and pass through text seen as improperly encoded. You may get some strange results or mangled characters. You may want to force TinyXML to the correct mode. You may force TinyXML to Legacy Mode by using LoadFile( TIXML_ENCODING_LEGACY ) or LoadFile( filename, TIXML_ENCODING_LEGACY ). You may force it to use legacy mode all the time by setting TIXML_DEFAULT_ENCODING = TIXML_ENCODING_LEGACY. Likewise, you may force it to TIXML_ENCODING_UTF8 with the same technique. For English users, using English XML, UTF-8 is the same as low-ASCII. You don't need to be aware of UTF-8 or change your code in any way. You can think of UTF-8 as a "superset" of ASCII. UTF-8 is not a double byte format - but it is a standard encoding of Unicode! TinyXML does not use or directly support wchar, TCHAR, or Microsoft's _UNICODE at this time. It is common to see the term "Unicode" improperly refer to UTF-16, a wide byte encoding of unicode. This is a source of confusion. For "high-ascii" languages - everything not English, pretty much - TinyXML can handle all languages, at the same time, as long as the XML is encoded in UTF-8. That can be a little tricky, older programs and operating systems tend to use the "default" or "traditional" code page. Many apps (and almost all modern ones) can output UTF-8, but older or stubborn (or just broken) ones still output text in the default code page. For example, Japanese systems traditionally use SHIFT-JIS encoding. Text encoded as SHIFT-JIS can not be read by TinyXML. A good text editor can import SHIFT-JIS and then save as UTF-8. The <a href="http://skew.org/xml/tutorial/" rel='nofollow' onclick='return false;'>Skew.org link</a> does a great job covering the encoding issue. The test file "utf8test.xml" is an XML containing English, Spanish, Russian, and Simplified Chinese. (Hopefully they are trans
评论
    相关推荐
    • 缓存(依赖文件)
      缓存源码 此例子演示的是依赖文件的缓存 例子是一个xml文件
    • 易语言读入xml到高级表格
      易语言读入xml到高级表格源码,读入xml到高级表格,记录缓存
    • ehcahe页面缓存详细内容
      2.将ehcache.xml放入能加载到classpath中的任意包中,不能放入WEB-INF中(其详细配置参数代表含义已经注释) 3.在工程中web.xml配置过滤器 <filter-name>SimplePageCachingFilter <filter-class>...
    • parser-xml:解析器缓存兼容的 XML 解析器
      解析器缓存兼容的 XML 解析器。 安装 使用安装 npm i parser-xml --save 运行测试 npm test 用法 var parser = require ( 'parser-xml' ) ; 解析 parser . parse ( str , options , function ( err , res ) { if...
    • Xpath读取xml文件,实现文件缓存
      Xpath读取xml文件,实现文件缓存
    • xml编辑例子是一个关于网业缓存
      xml编辑例子是一个关于网业缓存的 例子比较详细
    • Zope XML Methods-开源
      ZopeXMLMethods提供了适用于XML / XSLT处理的Zope对象的方法。 XSLTMethod将XSLT转换器与XML文档相关联。 ZopeXMLMethods继承了XMLTransform。 它具有文件系统缓存功能,并且可以与许多XML / XSLT库一起使用。
    • ehcache 缓存
      <?xml version="1.0" encoding="UTF-8"?>      maxElementsInMemory="10000" !-- 缓存最大数目 -->  eternal="false" !-- 缓存是否持久 -->  overflowToDisk="true" !-- 是否保存到磁盘,当系统当机时-->...
    • Mybatis延迟加载和缓存(基于XML配置).zip
      Mybatis延迟加载和缓存的相关配置和使用。案例中代码演示了使用步骤,包含详细注释)
    • GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.tar.gz
      guassdb100在redhat上安装包,单机部署的包,安装步骤请看我的文中介绍,经过大量实验搭建总结出来的文档