我将读取条形码放在单独的方法中,该方法读取条形码并将其放入名为条形码的文本框中。并创建了一个按钮,用于加载与该条形码相对应的数据,但面临问题
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具有正确的值,但它没有出现在程序中 s值即将出现 另一方面,如果我直接用“780672318863”代替strBarcode它正确显示值 谁能告诉我哪里出错?
答案 0 :(得分:1)
不可复制。
我用docX.Descendants("book")...
运行你的代码并生成正确的元素。
你可以尝试
string strBarcode = barcode.Text.Trim();
但是对于其他人,您只需要在调试器中查看。