2011-01-26 4 views
1

안녕을 제기. 그러나 이제 CSV 파일로로드 할 XML 응답을 얻고 해당 파일을 특정 경로에 자동으로 저장하려면 응용 프로그램이 더 이상 웹 양식이 아니며이를 수행하는 방법이 확실하지 않아야합니다.변경 XML 응답은 나는 다음과 같은 편집 응용 프로그램 코드가

가 여기에 응답 XML의 예입니다 -

<return> 
        <factSum>24</factSum> 
        <comSum>15</comSum> 
        <errDetails> 
          <errors>The person [123] is unknown , The 
           centre [14] is unknown </errors> 
          <Position>0</Position> 
        </errDetails> 
        <status>lineFault</status> 
       </return> 
    </ns2:FeedResponse> 
</S:Body> 

그리고 나는 .CSV 파일이 뭔가를보고 싶지 같은 -

날짜, 시간, factSent, ComSent, factSum, comSum, 오류, 위치, 상태 26/01/2011,14 : 00,24,15,24,15, 사람 [123], 나는 모두 StringBuilder SbCSV을 시도했지만 그것을 얻을 수 없었다 lineFault

0 알 수 내가 아니오 인 것처럼 일했다. 기존 코드를 변경하여 사용하는 방법을 반드시 확인하십시오. 그러나 public partial class ConvertApp : Form 으로 나에게 문제를주고 또한 것을 private void Form1_Load(object sender, EventArgs e)

static void Main(string[] args) 
{ 
    string oldXML = ConfigurationSettings.AppSettings["res"]; 
    string xsltLocation = ConfigurationSettings.AppSettings["Path to where xsl template is saved"]; 
    string new CSV = ConfigurationSettings.AppSettings["Path to where I want the new CSV to go"]; 

    XslCompiledTransform transform = new XslCompiledTransform(); 
    transform.Load("Path to where xsl template is saved"); 
    transform.Transform(oldXML, newCSV); 
} 

을 입력 -

<xsl:template match="//return". 
<xsl:value-of select="factsum"> 
//etc 
</xsl:template> 

그리고 다음을했다 - 은 또한 안쪽의 XLS 템플릿 using System.Configuration;System.Xml.Xsl;를 사용하여 시도 static void Main이었고 템플릿이 잘못 구성되었다고 생각합니다.

모든 도움을 주시면 대단히 감사 드리며 시간을내어 감사드립니다.

답변

2

이는 다음의 결론으로, chat 논의되었다

  • 대물 웹 형태의 파일 응답을 작성하는 것, here
  • 대상 CSV로 입력 XML 번역 덮여로서 꽤 많이 덮여, XSLT를 통해입니다
  • 및 CSV를 작성하는 논의 된 바와 같이, 우리는 "콘텐츠 유형"과 "내용 dispositon"헤더를 설정하려면 (그것은 거의 here 같은 일이 같은) here
0

내가 겪고있는 문제를 따라갈 수는 없지만 적절한 템플릿에서 새 프로젝트를 만들고 웹 서비스 프로젝트를 수정하는 것보다 관련 스트링 빌더 기반 코드를 붙여 넣기가 더 쉬울 수도 있습니다.

+0

결과를 CSV 형식으로 저장 한 다음 특정 위치에 저장하면되지만 여전히 내 두뇌를 고문해야합니다! – Ebikeneser

+0

입력 내용을 파싱하고 StringBuilder를 만드는 것은 CSV 버전 인 IMHO를 만드는 올바른 방법이며, 끝 부분에서 간단히 디스크에 저장하는 것이 간단합니다. 나는 여전히 정확한 문제를 잘 모르고 있지만 프로젝트를 웹 서비스로 출력하는 것을이 텍스트 파일을 만드는 것으로 바꾸는 것과 관련이있는 것으로 보인다. 어떤 경우에는 아마도 더 적절한 기본 템플릿 (예 : windows/console 앱)을 사용하여 관련 코드를 붙여 넣는 새 프로젝트가 여러분의 삶을 단순하게 만들 수 있습니다. – eftpotrm

관련 문제