2010-03-04 2 views
1

안녕하세요,사용자 구성 데이터를 XML 및 상대 URI 오류로 저장

일부 응용 프로그램 구성 정보가 Userconfig.xml 파일에 저장되는 프로그램에서 작업하고 있습니다.

Private Sub SaveConfig(ByVal sender as Object, ByVal e as System.EventArgs) 
    'TODO: Add event handler implementation here 

    Dim SavePath As String = UserConfigDataSource.Source.LocalPath.ToString 
    Dim XMLDoc = UserConfigDataSource.Document 
    UserConfigDataSource.Document.Save(SavePath) 
End Sub 
:

<XmlDataProvider x:Name="UserConfigDataSource" x:Key="UserConfigDataSource" Source="UserConfig.xml" d:IsDataSource="True"/> 

나는 문서의 요소와 XMLDataProvider에 저장하는 이벤트 핸들러에 바인딩에 걸쳐 항목의 번호를 가지고 : 나는 상대 URI를 통해 XAML에 XMLDataProvider로 파일을로드하고

이 작업이 실행되면 "이 작업은 상대 URI에서 지원되지 않습니다."라는 오류 메시지가 나타납니다. 절대 URI를 생성하는 좋은 방법이 있습니까 (어셈블리 실행 위치를 얻는 것과 끝에서부터 실행 파일 이름을 다듬는 것 제외)? 나는 이것이 다소 간단한 절차라고 기대했다. 어떤 도움이라도 대단히 감사하겠습니다.

코리

답변

0

는 제안을

FileInfo config= new FileInfo("configuration.xml"); 
provider.Source = new System.Uri(config.FullName); 

HERE을 사용 AbsoluteUri.ToString 시도 할 수있는 모든 일을 잘했다.

코리

0

디버거에서 SavePath의 정확한 값을 살펴 보셨습니까? XAML의 URI이므로 XmlDocument.Save에서 인식 할 수없는 구문을 가질 수 있습니다. 또한

+0

그래, Nothing을 반환합니다. 또한 UserConfigDataSource (XMLProvider 객체) Source.LocalPath 속성은 예외를 반환합니다. 단지 내가 추측하고있는 설치 경로에 상대적인 것을 부르고 있다는 사실을 좋아하지 않습니다. Cory – CodeWarrior

+0

이 게시물을 보았습니다 : http://stackoverflow.com/questions/1059916/using-relative-uri-as-xmldataproviders-source. 내일 또는 월요일에 확인해 보겠습니다. 코리 – CodeWarrior

관련 문제