Таким образом, мой метод принимает xmlfile в качестве параметра (поэтому я не буду знать имена тегов от руки и т. Д.) И добавляю элементы, их значения, а также, если они имеют какие-либо атрибуты, их значения, а также метки. Текст,Я чувствовал, что на этот вопрос уже есть ответ (попытался посмотреть), но большинство примеров переполнения стека относится к разбору определенного XML-файла, который можно выполнить с помощью поиска linq после XDocument.Load () файла.Еще один способ, который я заметил, - это сделать foreach для каждого элемента в doc.descendant следующим образом, но это выглядит как полный беспорядок (и я даже не получаю атрибуты и их значения)
XDocument doc = XDocument.Load(TextBox1.Text);
foreach (XElement element in doc.Descendants())
{
Label1.Text += element.Name + element.Value + "\n";
}
Что такоеспособ передать в любой XML-файл, и просто в основном взять имя элемента + их значение, а также имя атрибута + их значение.
РЕДАКТИРОВАТЬ: я чувствую, что я ближе ... вот что я обновил до сих пор
XDocument doc = XDocument.Load("http://localhost:56767/File1.xml");
int i = 0;
foreach (XElement element in doc.Descendants())
{
var child = element.Elements();
foreach (XElement node in child)
{
BulletedList1.Items.Add(node.Name.LocalName + ": "+node.Value);
if (node.HasAttributes)
{
foreach (XAttribute attributeNode in node.Attributes())
{
if (!attributeNode.Name.LocalName.Contains("xm"))
{
BulletedList1.Items.Add(attributeNode.Name.LocalName + ": " + attributeNode.Value);
}
}
}
i++;
}
}
Label1.Text += i;
Единственная проблема, с которой я столкнулся, это то, что потомки сначала несколько порций данных, например, если у меня есть
<Books>
<Book>
<Title>title</Title>
<Author>author</Author>
<Book>
<Book>
<title>title2</Title>
<Author>author2</Author>
<Book>
<Books>
Он начинается с самого высокого уровня, а затем идет вниз, будучивсе мои данные перебираются более одного раза.