Мне нужно выбрать данные из xml в C#. Структура XML имеет следующий вид:Запрос LINQ к XML в C#
<?xml version="1.0"?>
<xdoc version=""...>
<something>
...
</something>
<fields>
<field dimensions="" name="something else">
<ff>x</ff>
<text>something</text>
<gg>x</gg>
</field>
<field dimensions="" name="SUPPLIER_NAME">
<ff>x</ff>
<text>This is what I want</text>
<gg>x</gg>
</field>
<field dimensions="" name="something else2">
<ff>x</ff>
<text>something2</text>
<gg>x</gg>
</field>
</fields>
<something2>
...
</something2>
</xdc>
Код запрос следующий:
XElement root = XElement.Load(path);
IEnumerable<XElement> hodnota = from el in root.Elements("fields")
where (string)el.Attribute("name") == "SUPPLIER_NAME"
select el;
foreach (XElement in hodnota)
textBox1.Text += (string)el.Atribute("text") + Environment.NewLine;
Цель заключается в выбор текста «Это то, что я хочу» от элемента, где имя атрибута является «поставщиком». Затем отправьте его в excel, эта часть работает безупречно, но я не могу найти правильное выражение, поэтому я пишу в текстовое поле для более быстрого тестирования. Я попытался выбрать строку xml, но безуспешно, так что это так.
Может кто-нибудь, пожалуйста, посмотрите на предоставленный код и скажите мне, что я делаю неправильно?
Спасибо, Andrew
Из 'TextBox1.Text + = (строка) el.Atribute ("текст") + Environment.NewLine' в' TextBox1.Text + = el.Element («текст»). Value + Environment.NewLine'? –