用SAXXMLReader将XML文件保存为缩进格式,方便阅读
2011-12-13 10:12
477 查看
MSXML3.0以上才提供对SAXXMLReader,直接上代码:
参考文章:http://www.cppblog.com/fwxjj/archive/2008/02/02/42411.html
PS:代码不是本人所写,一个前辈的,借用一下,贡献出来,希望对别的童鞋有帮助。
void SaveToXmlFile( MSXML2::IXMLDOMDocumentPtr docPtr,const wchar_t* XmlFileName ) { HRESULT hr = S_OK; MSXML2::IMXWriterPtr pWriter(__uuidof(MSXML2::MXXMLWriter)); MSXML2::ISAXXMLReaderPtr pReader(__uuidof(MSXML2::SAXXMLReader)); pReader->putContentHandler((MSXML2::ISAXContentHandlerPtr)pWriter); pReader->putDTDHandler((MSXML2::ISAXDTDHandlerPtr)pWriter); pReader->putErrorHandler((MSXML2::ISAXErrorHandlerPtr)pWriter); pWriter->put_indent(VARIANT_TRUE); pWriter->put_byteOrderMark(VARIANT_TRUE); pWriter->put_standalone( VARIANT_TRUE ); pWriter->put_disableOutputEscaping( VARIANT_TRUE ); IStream* pStream = NULL; DWORD grfMode = STGM_WRITE | STGM_SHARE_EXCLUSIVE | STGM_CREATE; hr = SHCreateStreamOnFileW(XmlFileName, grfMode, &pStream); if (SUCCEEDED(hr)) { _variant_t v = pStream; hr = pWriter->put_output(v); if (SUCCEEDED(hr)) { hr = pReader->parse((_variant_t)docPtr.GetInterfacePtr()); if (SUCCEEDED(hr)) pWriter->flush(); } pStream->Release(); } }
参考文章:http://www.cppblog.com/fwxjj/archive/2008/02/02/42411.html
PS:代码不是本人所写,一个前辈的,借用一下,贡献出来,希望对别的童鞋有帮助。
相关文章推荐
- 数据库操作_连接SQL Server数据库示例;连接ACCESS数据库;连接到 Oracle 数据库示例;SqlCommand 执行SQL命令示例;SqlDataReader 读取数据示例;使用DataAdapter填充数据到DataSet;使用DataTable存储数据库表;将数据库数据填充到 XML 文件;10 使用带输入参数的存储过程;11 使用带输入、输出参数的存储过程示;12 获得数据库中表的数目和名称;13 保存图片到SQL Server数据库示例;14 获得插入记录标识号;Exce
- 用SAXReader文档解析XML文件
- 让TinyXML保存文件为UTF-8格式
- 采用DOM4J中的SAXReader解析webservice返回的XML文件
- 让TinyXML保存文件为UTF-8格式
- SAXReader saxReader = new SAXReader();来解析xml文件
- JAVA程序生成XML标准化的文件格式,缩进,美化。
- C#源码学习之---将数据库数据以XML文件格式保存
- 让TinyXML保存文件为UTF-8格式
- SAXReader很全的xml文件解读器说明
- Dom4j SAXReader读取xml异常时占用文件,导致不能移动文件
- 通过SaxReader解析xml配置文件(上班第一天)
- XML文件解析-SaxReader
- analyzeXml格式化xml文件缩进格式_EnxXml还原xml缩进格式
- Dom4j保存数据乱码以及xml文件头编码格式改变的原因和解决方法
- Qt: QXMLStreamReader,读XML文件实例
- Office 2003 PIA编程的问题:文件保存为XlFileFormat.xlExcel7格式时Range.Merge()失效
- java--DOM4j-SAXReader对xml文档的解析2
- Spring如何加载XSD文件(org.xml.sax.SAXParseException: Failed to read schema document错误的解决方法)
- org.xml.sax.SAXParseException: Failed to read schema document错误的完美解决方法 以及 Spring如何加载XSD文件