Witam
Mam różne parametry XML do wczytanie, które się nie powtarzają i w tym jest problem Linq nie może odnaleźć parametru w kodzie i wywala bład
Przykład kodu z netu
na który się opieram w mojej aplikacji
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
using System.Xml.Linq;
using System.IO;
using System.Diagnostics;
namespace WindowsPhoneApplication1
{
public class StockQuote
{
public string Symbol { get; set; }
public string Home { get; set; }
public decimal Price { get; set; }
public DateTime QuoteTime { get; set; }
}
public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
InitializeComponent();
// pretend this came from a web service
string xmlData =
@"<ServiceReply>
<StockQuote symbol='IBM' price='32.50' quotetime='01/01/2010 12:21:00'/>
<StockQuote symbol='MSFT' price='21.20' quotetime='01/01/2010 12:20:30' home='usa' />
</ServiceReply>
";
XDocument dataDoc = XDocument.Load(new StringReader(xmlData));
var quotes = from quote in dataDoc.Descendants("StockQuote")
let stamp = DateTime.Parse(quote.Attribute("quotetime").Value)
orderby stamp ascending
select new StockQuote
{
Symbol = quote.Attribute("symbol").Value,
Price = decimal.Parse(quote.Attribute("price").Value),
Home = quote.Attribute("symbol").Value
};
foreach (StockQuote stockQuote in quotes)
{
TextBox.Text = Convert.ToString(stockQuote.Symbol + " : " + stockQuote.Price+ " : " + stockQuote.Home);
}
}
}
}
ja zasysam xml z netu ale przykład podany jest bardzo podobny
Problem:
przerywa kompilację z powodu braku parametru Home w pierwszej linii kodu XML
<StockQuote symbol='IBM' price='32.50' quotetime='01/01/2010 12:21:00'/>
ale muszę go pozyskać ponieważ występuje w drugiej linii kodu i jest mi on niezmiernie potrzebny, danych XML nie mogę zmienić
<StockQuote symbol='MSFT' price='21.20' quotetime='01/01/2010 12:20:30' home="usa" />
co mogę zrobić aby LINQ pomijał brakujący argument