문제

디스크의 파일이 아닌 XML 경로 저장 프로 시저의 결과를 메모리에 작성하는 방법은 무엇입니까?

현재 일을하는 방법 :

private  void GetChartData(string OC_Ttl1, string OC_Ttl2, string OC_OL31)
{
    OC_Ttl_1 = OC_Ttl1;
    OC_Ttl_2 = OC_Ttl2;
    OC_OL3_1 = OC_OL31;
    //Output xml
    DataSet orgDataSet = new DataSet();
    orgDataSet.ReadXml(cmd_Org.ExecuteXmlReader(), XmlReadMode.Auto);
    orgDataSet.WriteXml("InputXMLFiles/" + OC_OL3_1.Replace(" ", 
        "_").Replace("/", "-") + ".xml");
}

다른 메소드가 작동하는 파일을 디스크에 작성하는 대신이 메소드가 XML을 기억으로 되돌려 보도록하고 싶습니다.

나는 이것이 디스크에 글을 쓰는 것보다 훨씬 빠를 것이라고 가정합니다 ....

도움이 되었습니까?

해결책

당신은 있습니다 XmlReader - 넌 할 수있어 모두 일종의 것들. 예를 들어

XmlDocument doc = new XmlDocument();
using(XmlReader xr = cmd_Org.ExecuteXmlReader()) {
    doc.Load(xr);
}
// TODO: play with "doc" with xpath etc

다른 팁

DataSet.WriteXml 과부하가 많습니다. 스트림에 쓸 수 있습니다 ( MemoryStream) 및 작가 (a 포함 StringWriter). 그것은 당신이 정말로 DataSet - 사용하지 않고 XML을 직접받는 것이 행복하다면 DataSet 그런 다음 Marc의 제안을 사용하십시오.

과부하를 호출 할 수 있습니다 WriteXml 그것은 스트림에 쓰고 사용합니다 MemoryStream, XML을 큰 긴 문자열로 원한다는 것을 의미 할 수도 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top