По сути, я работаю над кодом другого человека, и я нашел кое-что, что не очень хорошо, но я также не знаю, как его улучшить.
Мне нужно вставить некоторые элементы XML впросмотр списка, а иногда это больше, чем 1 элемент в строке (это означает, что мне нужно использовать подэлементы). Дело в том, что в этом случае ему нужно было получить 2 элемента и сделать это, и теперь мне нужно сделать то же самое, но для 7 предметов ... и богами, которые будут путать, используя эту логику. Проблема в том, что я не могу сделать это лучше, потому что я только начинаю программировать.
Итак, как я могу сделать этот foreach полезным независимо от количества элементов, которые мне нужно получить?
auxGeral = 0;
auxEsp = 0;
foreach (var elemento in doc.Descendants("NomeAtividade"))
{
ListViewItem i = new ListViewItem((string)elemento);
foreach (var elemento2 in doc.Descendants("ProcessoRelacionado"))
{
if (auxGeral >= auxEsp)
{
i.SubItems.Add((string)elemento2);
break;
}
auxGeral++;
}
auxEsp++;
listViewAtividade.Items.Add(i);
}
Вот немного XML (мне нужно получить все элементы внутри узла в одном формате, например, «Informacao» имеет «NomeInformacao», «FormatoInformacao» и «ObservacoesInformacao», и мне нужно получить тетри внутри):
<?xml version="1.0" encoding="utf-8"?>
<Arquitetura>
<NomeArquitetura>TesteAto</NomeArquitetura>
<VersaoArquitetura>1</VersaoArquitetura>
<Atividades>
<Atividade>
<ProcessoRelacionado>processo1</ProcessoRelacionado>
<NomeAtividade>atividade1</NomeAtividade>
</Atividade>
<Atividade>
<ProcessoRelacionado>processo2</ProcessoRelacionado>
<NomeAtividade>atividade2</NomeAtividade>
</Atividade>
<Atividade>
<ProcessoRelacionado>processo2</ProcessoRelacionado>
<NomeAtividade>atividade2,5</NomeAtividade>
</Atividade>
</Atividades>
<Informacoes>
<Informacao>
<NomeInformacao>info1</NomeInformacao>
<FormatoInformacao>formato1</FormatoInformacao>
<ObservacoesInformacao>obs1</ObservacoesInformacao>
</Informacao>
<Informacao>
<NomeInformacao>info2</NomeInformacao>
<FormatoInformacao>form2</FormatoInformacao>
<ObservacoesInformacao>obs2</ObservacoesInformacao>
</Informacao>
</Informacoes>
</Arquitetura>