CppXsl.cpp
上传用户:sz0451
上传日期:2022-07-29
资源大小:256k
文件大小:1k
源码类别:

.net编程

开发平台:

Visual C++

  1. // This is the main project file for VC++ application project 
  2. // generated using an Application Wizard.
  3. #include "stdafx.h"
  4. #using <mscorlib.dll>
  5. #using <System.xml.dll>
  6. using namespace System;
  7. using namespace System::Xml;
  8. using namespace System::Xml::XPath;
  9. using namespace System::Xml::Xsl;
  10. // This is the entry point for this application
  11. #ifdef _UNICODE
  12. int wmain(void)
  13. #else
  14. int main(int argc, char* argv[])
  15. #endif
  16. {
  17.     // Check for required arguments
  18.     if (argc < 3)
  19.     {
  20.         Console::WriteLine(S"Usage: CppXsl xml-file stylesheet");
  21.         return -1;
  22.     }
  23.     String* path = new String(argv[1]);
  24.     String* xslpath = new String(argv[2]);
  25.     try
  26.     {
  27.         // Create the XmlDocument to parse the file
  28.         XmlDocument* doc = new XmlDocument();
  29.         // Load the file
  30.         doc->Load(path);
  31.         // Create the navigator and position it
  32.         XPathNavigator* nav = doc->CreateNavigator();
  33.         nav->MoveToRoot();
  34.         // Create the XslTransform and load it
  35.         XslTransform* xslt = new XslTransform();
  36.         xslt->Load(xslpath);
  37.         
  38.         // Create a writer for output
  39.         XmlTextWriter* xtw = new XmlTextWriter(Console::Out);
  40.         xtw->Formatting = Formatting::Indented;
  41.         // Do the transformation
  42.         xslt->Transform(nav, 0, xtw);
  43.     }
  44.     catch(Exception* pe)
  45.     {
  46.         Console::WriteLine(pe->Message);
  47.     }
  48.    
  49.     return 0;
  50. }