Анализ XML и привязка к просмотру списка в формах xamarin

Предложение Майка Нельсона не помогло мне в Chrome 50.0.2661.102 m. Просто добавив элемент ввода того же типа с дисплеем: ни один набор больше не отключает автозавершение собственного браузера. Теперь необходимо дублировать атрибут имени поля ввода, для которого вы хотите отключить автозаполнение.

Кроме того, чтобы избежать дублирования поля ввода, когда оно находится внутри элемента формы, вы должны поместить отключенный на элемент, который не отображается. Это предотвратит отправку этого элемента как часть действия формы.

<input name="dpart" disabled="disabled" type="password" style="display:none;">
<input name="dpart" type="password">
<input type="submit">
0
задан AndroDevil 28 March 2019 в 05:18
поделиться

1 ответ

1) Для вашего первого вопроса,

Ниже приведены модели классов для анализа вашего xml,

class Answer
{
    public string Text { get; set; }
    public bool Correct { get; set; }
}

class Question
{
    public string Ques { get; set; }
    public string Type { get; set; }
    public List<Answer> Answers { get; set; }
}

class Tranzaction
{
    public string TransactionId { get; set; }
    public List<Question> Questions { get; set; }
}

. С помощью LINQ to XML вы можете анализировать ваши модели классов xml и выше, например,

XDocument doc = XDocument.Parse("Your xml text here");

List<Tranzaction> transactions = (from p in doc.Descendants("PlatformResponse")
              select new Tranzaction
              {
                  TransactionId = p?.Elements("TransactionDetails")?.FirstOrDefault()?.Element("TransactionId")?.Value.Trim(),
                  Questions = (from q in p?.Descendants("Questions")?.Elements("Question")
                               select new Question
                               {
                                   Ques = q?.Attribute("text")?.Value,
                                   Type = q?.Attribute("type")?.Value,
                                   Answers = (from a in q?.Elements("Answer")
                                              select new Answer
                                              {
                                                  Text = a?.Value,
                                                  Correct = Convert.ToBoolean(a?.Attribute("correct")?.Value)
                                              }).ToList()
                               }).ToList()

              }).ToList();

2) Для вашего второго вопроса

Теперь вы можете создать один ObservableCollection для результата запроса выше и связать это список в виде ксамарина, например

ObservableCollection<Tranzaction> tranzactionsOC = new ObservableCollection<Tranzaction>(transactions);

Теперь tranzactionsOC - это ваш ObservableCollection, и вы можете привязать его к форме ксамарина

0
ответ дан er-sho 28 March 2019 в 05:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: