2012-06-14 3 views
0

웹 사이트에서 일부 XML 코드를 읽으려고하는데 오류가있는 곳을 알아 내는데 문제가 있습니다. this 코드를 사용하여 매우 유용한 게시물을 내 바탕 화면 ("H : \ MyName \ Desktop \ secLendingXML.cfm.xml")에 저장 한 파일을 읽으려고합니다. 코드는 다음과 같습니다 :C++에서 XML 판독기를 사용하려고 시도했습니다.

#include "stdafx.h" 
#include <stdio.h> 
#include <tchar.h> 
#include <windows.h> 
#import <msxml6.dll> rename_namespace(_T("MSXML")) 

int main(/*int argc, char* argv[]*/) 
{ 
HRESULT hr = CoInitialize(NULL); 
if (SUCCEEDED(hr)) 
{ 
    try 
    { 
     MSXML::IXMLDOMDocument2Ptr xmlDoc; 
     hr = xmlDoc.CreateInstance(__uuidof(MSXML::DOMDocument60), NULL, CLSCTX_INPROC_SERVER); 
     // TODO: if (FAILED(hr))... 
     if (xmlDoc->load(_T("H:\MyName\Desktop\secLendingXML.cfm.xml")) != VARIANT_TRUE) 
     { 
      printf("Unable to load input.xml\n"); 
     } 
     else 
     { 
      printf("XML was successfully loaded\n"); 

      xmlDoc->setProperty("SelectionLanguage", "XPath"); 
      MSXML::IXMLDOMNodeListPtr wheels = xmlDoc->selectNodes("/Car/Wheels/*"); 
      printf("Car has %u wheels\n", wheels->Getlength()); 

      MSXML::IXMLDOMNodePtr node; 
      node = xmlDoc->createNode(MSXML::NODE_ELEMENT, _T("Engine"), _T("")); 
      node->text = _T("Engine 1.0"); 
      xmlDoc->documentElement->appendChild(node); 
      hr = xmlDoc->save(_T("output.xml")); 
      if (SUCCEEDED(hr)) 
       printf("output.xml successfully saved\n"); 
     } 
    } 
    catch (_com_error &e) 
    { 
     printf("ERROR: %ws\n", e.ErrorMessage()); 
    } 
    CoUninitialize(); 
} 
system("PAUSE"); 
return 0; 

}

메시지 "input.xml로드 할 수 없습니다"가 항상 표시, 그래서 나는 오류를 가지고 있지 않다 알고 있지만 그 코드를로드 할 수 없습니다 내 XML 파일.

다른 위치에 XML 파일을 저장해야합니까? ".xml"이 읽기 프로세스에 걸리기 전에 ".cfm"이 있습니까?

내 의도 된 방향에 대한 아이디어를 얻으려면 New York Fed website에서 XML 파일을로드하여 데이터 검색 프로세스를 자동화 할 수있는 일종의 데이터 파일로 읽을 수 있어야합니다. 그렇게하면 웹 사이트가 업데이트 될 때마다 자동으로 알림을 받게되며 컴퓨터의 어딘가에 저장 한 데이터 파일의 변경 내용에 반영됩니다. 누구든지 내가 투표 부분, 투표 간격, 웹 사이트 변경 내용 등을 어떻게 다루는지를 도우 려한다면 - 또한 감사 할 것입니다.

감사합니다.

답변

1

경로 문자열에서 백 슬래시를 이스케이프 처리해야합니까? 예 :

xmlDoc->load(_T("H:\\MyName\\Desktop\\secLendingXML.cfm.xml") 
+0

Nailed it! 고마워, 나는 그것에 완전히 간격을 두었다. 누구든지 내 질문의 두 번째 부분에 대한 조언이있는 경우를 대비하여 공개 하겠지만 일단 허용되면 답변을 수락합니다. – weskpga

+0

NY Fed의 XML 파일을 살펴볼 수 있다고 생각하십니까? 나는 그것을 깔끔한 데이터 세트에 넣을 수 없다. – weskpga