Я поместил штрих-код чтения в отдельный метод, который считывает штрих-код и помещает его в текстовое поле с именем barcode. и создал кнопку, которая будет загружать данные coresponding для этого штрих-кода, но перед проблемойFirstOrDefault не принимает аргумент
private void Load_Click(object sender, RoutedEventArgs e)
{
var str = @"<Books xmlns=""""> <book Barcode=""780672318863""><Serial>11</Serial>
<name>abc</name> <detail>Fantasy</detail></book>
<book Barcode=""780672318864""><Serial>12</Serial>
<name>abc</name><detail>Fantasy1</detail></book></Books>";
var strBarcode = barcode.Text;
MessageBox.Show(strBarCode);
XDocument docX = XDocument.Parse(str);
var s = docX.Descendants("book").FirstOrDefault(a => a.Attribute("Barcode").Value == strBarcode);
spnl.DataContext = s;
}
Теперь Messagebox говорит strBarCode имеет правильное значение, но оно не отображается в программе и сек значение выходит утратившими на другой рукой, если я ставлю прямо «780672318863» вместо strBarcode, он правильно показывает значение.
может ли кто-нибудь сказать мне, где я иду не так?
Ваш XML не содержит * любых * элементов, называемых «линзой», поэтому этот код не будет работать в данный момент. Это действительно поможет, если вы можете опубликовать короткий, но * полный * пример (в идеале, как консольное приложение), который демонстрирует проблему. –
@JonSkeet - Но у него есть ''. ОП совершил неполную обфускацию данных о домене. –
@HenkHolterman: Да, но бог знает, что еще изменилось в одно и то же время. Или, может быть, это не было запутыванием - возможно, это было неправильно в его коде, и он сделал некоторые другие изменения, когда он закодировал штрих-код. Невозможно точно сказать, но мы * можем * знать, что написанный код никогда не найдет элемент «lense». Здесь важна короткая, но полная программа, демонстрирующая проблему. –