之前为了这个问题google baidu了好多,的确有许多好方法,但是一到MSXML调用的时候,很多直接使用了脚本或者Vb语言啥,这些个语言使用COM的确很方便
但是很多新手还是希望是C++的写法吧
MSXML3.0版即可,IE6的机器就行了吧不过我发现一个问题,似乎注释会被和谐掉……#include "stdafx.h"
#include <ostream>
using namespace std;#import <msxml3.dll>int _tmain(int argc, _TCHAR* argv[])
{
_bstr_t str; ::CoInitialize(NULL);
{
MSXML2::ISAXXMLReaderPtr spXMLReader;
MSXML2::IMXWriterPtr spXMLWriter;
MSXML2::ISAXContentHandlerPtr spHandler; spXMLReader.CreateInstance(L"MSXML2.SAXXMLReader");
spXMLWriter.CreateInstance(L"MSXML2.MXXMLWriter"); spHandler = spXMLWriter; spXMLReader->putContentHandler(spHandler);
spXMLWriter->put_indent(VARIANT_TRUE);
spXMLWriter->put_standalone(VARIANT_TRUE);
spXMLWriter->put_encoding(_bstr_t(L"UTF-16")); spXMLReader->parse(L"<MyXML><NodeA>NodeA111</NodeA><!-- This is comment! --><NodeB>NodeB111222</NodeB></MyXML>"); str = _bstr_t(spXMLWriter->output);
}
::CoUninitialize(); cout << str << endl;

int x; cin >> x; return 0;
}