2009-09-14 2 views
2

.WriteXML (FileName)을 사용하여 XML 파일에 데이터 세트를 작성했으며 데이터 세트의 DataSetName 속성은 파일의 최상위 태그입니다. 그러나 .ReadXML (FileName)을 사용하여 다른 DataSet으로 파일을 읽으려고하면 DataSetName이 최상위 태그의 값으로 변경되지 않습니다. 뭔가 잘못된 일을하고 있거나 DataSetName을 설정하지 않아야하는 ReadXML입니까? . 그냥 그것을 기록하지만, 그것을 읽을 것을 이상하게 나를 파업 .NET에서 ReadXML()을 사용하여 XML 파일에서 DataSetName을 읽는 방법은 무엇입니까?

다음은 내 코드를 작성, XML 파일, 그리고 읽기 코드입니다 :

쓰기 :

dsNewReport.DataSetName = "Rejected" 
dsNewReport.WriteXml(My.Application.Info.DirectoryPath & "/Reports/Incomplete/" & fileName) 

결과 XML :

<?xml version="1.0" standalone="yes"?> 
<Rejected> 
    <SearchData> 
    //SNIP 
    </SearchData> 
</Rejected> 

읽기 :

dsSearchReport.ReadXml(My.Application.Info.DirectoryPath & "/Reports/Incomplete/Search_" & Search_SEQ_GUID & ".xml") 
If dsSearchReport.DataSetName = "Rejected" Then 
    return True 
    'DataSetName = dsSearchReport after the read  
End IF 

답변

2

ReadXml은 데이터 세트 이름을 설정하도록 설계되지 않았으며 직접 처리해야합니다.

물론 - 귀하의 경우 루트 레벨 이름으로 설정하고 싶지만 모든 사람이 원하는 것은 아닙니다. 누군가 다른 이름으로 파일 이름을 설정하거나 다른 이름으로 설정할 수도 있습니다.

이렇게 타협하여, ReadXml 함수는 어떤 식으로도 전혀하지 않습니다. 어떤 식 으로든 모양이나 양식에서 DataSet 이름을 건드리지는 않습니다. 귀하의 부분에 오류가 없습니다 - 그것이 바로 그 방법입니다.

마크

+0

이해할 수 있지만,되는 WriteXml 응, 이상한 ... datasetname 내에 루트 레벨의 이름을 설정? –

+0

음, 다시 말하지만 그들은 어떤 종류의 기본값을 선택해야만했고 DataSet에 부여한 이름이 의미가있는 것 같았습니다. 동의 함 - DataSet 이름으로 루트 요소 이름을 사용하고자 함을 나타 내기 위해 ReadXml에 매개 변수가있는 것이 유용 할 수 있습니다. - 아직 없습니다 (아직?) .... –

관련 문제