XMLDataProvider를 통해 XML 데이터를 사용하는 wpf 창이 있습니다. 스크린이 ... 격자를 기반으로 모든 데이터는 다음과 같은 다음과 같은 XML 소스와 xmldataprovider 코드 뒤에 요소 값 사용
<Grid.DataContext>
<XmlDataProvider x:Name="Data" XPath="Book/Page" />
</Grid.DataContext>
뒤에 코드에서 설정되고 ... XML을 정의한 후, 올바르게 표시되는
InitializeComponent();
string appPath = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase);
Data.Source = new Uri(appPath + @"\SNG.xml");
지금까지 모두 좋았습니다. 하지만 지금은 코드 뒤에있는 xml 파일에서 요소 중 하나를 읽을 필요가 있습니다. 내 모든 검색 및 내가 찾은 유일한 방법은 그것을 보이지 않는 컨트롤에 바인딩 한 다음 컨트롤에서 데이터를 읽는 것입니다. 예 : 나는이 (가) XAML에서 다음 한 XML에서 BookRef ...
뒤에 코드에서 다음TextBlock Name="BookRefTextBox" Visibility="Hidden" Text="{Binding [email protected]}"/>
...이 작동
string bookRef = BookRefTextBox.Text;
를 읽고 난 후, 제공된 데이터를 사용할 수 있습니다 xml 파일에서 ...하지만 그것은 퍼지처럼 느껴집니다. 코드 숨김 섹션에서 xml 파일의 일부 값을 가져 오는 더 좋은 방법이 있습니까?
편집 :
내가 대신 할 내가 찾은 몇 가지 예로서 Grid.DataContext
에서의 Windows.Resources
에 XmlDataProvider
을 넣어 시도했습니다 말을 잊으.
그러나 코드 뒤에 XML 파일의 경로를 설정하는 방법을 찾을 수 없습니다. Windows.Resource에 추가하면 Xml 파일에서 데이터에 액세스하는 방법을 쉽게 찾을 수 없습니다.
EDIT2 : 다음은 XML 파일의 예입니다. 여러 권의 책이 있습니다.
<Books>
<Book Id="1" BookRef="12345" Name="My Book Name" Author="Author" Pages="2" >
<Page PageId="1"/>
<Page PageId="2"/>
</Book>
<Book Id="1" BookRef="67890" Name="My Second Book Name" Author="Author 2" Pages="1" >
<Page PageId="1"/>
</Book>
</Books>
고마워, 그게 내가 원하는 것 같아. 그러나 나는 여기서 읽고있는 '기록'이 화면에 현재 표시된 것과 동기화되지 않을 것이라고 추측하고 있습니다. 그 추측에서는 맞습니까? 내 XML에는 여러 '책'과 여러 개의 '페이지'가 포함되어 있으며 현재 화면에 표시된 책에서 'BookRef'를 읽어야합니다. – RosieC
와우, 그 질문은 간단하지 않다. 나는 Book 엘리먼트 (루트 엘리먼트) 만 있다고 생각했다. – kennyzx
질문에 XML 샘플을 보여 주면 도움이 될 것입니다. – kennyzx