Я пытаюсь использовать LINQ для получения значений некоторых дочерних элементов. Вот XML-файл:VB.NET XML Linq Get Descendants
<?xml version="1.0" standalone="yes"?>
<UserRecipes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<recipe name="Chocolate" portions="5">
<ingredient quantity="500" unit="g">Chocolate Bar</ingredient>
<ingredient quantity="300" unit="g">Chocolate Buttons</ingredient>
<ingredient quantity="250" unit="g">Hot Chocolate</ingredient>
</recipe>
<recipe name="Cookies" portions="24">
<ingredient quantity="4" unit="oz">Flour</ingredient>
<ingredient quantity="200" unit="g">Chocolate Buttons</ingredient>
<ingredient quantity="600" unit="g">Sugar</ingredient>
</recipe>
<recipe name="Cake" portions="22">
<ingredient quantity="4" unit="oz">Flour</ingredient>
<ingredient quantity="4" unit="oz">Sugar</ingredient>
<ingredient quantity="4" unit="oz">Butter</ingredient>
<ingredient quantity="60" unit="n/a">Eggs</ingredient>
</recipe>
</UserRecipes>
Идея этого, чтобы иметь возможность получить ингредиенты, используемые в конкретном рецепте. Например, если пользователь выбирает «Шоколад», он будет извлекать все ингредиенты, используемые в рецепте «шоколад» - в этом случае: шоколадный бар, шоколадные кнопки и горячий шоколад.
Однако в настоящее время, когда я выполняю свой запрос LINQ, он возвращает все эти 3 значения в виде одной длинной строки. Например. Шоколад Бар Шоколад ButtonsHot Шоколад. Это не очень полезно, потому что мне нужны эти отдельные, чтобы добавить к моему datatable (позже).
Вот код VB.NET я в настоящее время:
Dim Doc As XDocument = XDocument.Load("G:\Computing\!Recipe Test\XMLTest.xml")
Dim LinqQuery As IEnumerable(Of XElement) = From element In Doc.Descendants
Where [email protected] = "Chocolate"
Select element
For Each Ele In LinqQuery
RichTextBox1.AppendText(Ele.Value & ControlChars.NewLine)
Next
Который возвращает
Chocolate BarChocolate ButtonsHot Chocolate
в текстовом поле.
Как я могу получить его, чтобы вернуть каждое значение отдельно (и, следовательно, положить их на новой строке)
Большое спасибо - надеюсь, что это имеет смысл, это мой первый раз с XML! Также допускаются альтернативные методы, более чем счастливы слушать другие идеи и методы.
ваша TextBox установлен в многострочно? – webdad3