Я пытаюсь получить значение тега <data>
ниже (это тестовое значение). Я прочитал его с XElement в приложении Windows Form. Но если я использую element.Value
, я получаю строку со всеми значениями детей. Конечным XML-файлом, который нужно прочитать, является сгенерированный XML-файл. Поэтому решение должно быть динамичным. Нет фиксированных имен.XML получить значение тега без значения для детей
Результат element.Value
является: This is a test value Jack22New YorkGuido21HollywoodMichael20BostonMy-Computer-1
XML файла:
<?xml version="1.0" encoding="UTF-8"?>
<data name="data_resource" howabout="no">
This is a test value
<persons>
<person>
<name>Jack</name>
<age>22</age>
<pob>New York</pob>
</person>
<person>
<name>Guido</name>
<age>21</age>
<pob>Hollywood</pob>
</person>
<person>
<name surname="Bats">Michael</name>
<age>20</age>
<pob>Boston</pob>
</person>
</persons>
<computers>
<computer>
<name>My-Computer-1</name>
<test>
<test2>
<test3>
<test4 testAttr="This is an attribute" y="68" x="132">
Hatseflatsen!
</test4>
</test3>
</test2>
</test>
</computer>
</computers>
</data>
ли кто-нибудь имеет исправление или решение для этого, что я получаю только значение его собственной теге и не все их дети также?
Что именно вы хотите сделать? Вы можете перебирать все элементы ** data * и принимать значения один за другим с помощью root.Elements («data») вместо Value. – pasty
Да, но, как я уже упоминал: я использую сгенерированный XML-файл, поэтому я не знаю, что мне нужно выбрать данные. Это был пример. Мне просто нужно получить значение тега данных (не зная, что это данные). Я повторяю все элементы, поэтому я использую element.Value. Но к этому добавляются все ценности детей. Я хочу решить это. –
Есть разница между 'XElement' и' XNode'. Простыми словами, узлы> теги. Каждый элемент является узлом, но не каждый узел является тегом. –