IsaiSelvan Ответов: 1

Как преобразовать XML в строковый формат на языке C#


< язык>
& lt;record lang= ".net" >
& lt;record lang= "java">
& lt;record lang= "php">


я хочу, чтобы выход на строку temp= " .net, java,php"

Что я уже пробовал:

< язык>
& lt;record lang= ".net" >
& lt;record lang= "java">
& lt;record lang= "php">


я хочу, чтобы выход на строку temp=".net,java,php". я попытался связать его, но не смог кончить. кто-нибудь может мне помочь.

1 Ответов

Рейтинг:
10

Thomas Daniels

Этот XML недействителен, потому что нет закрывающих тегов, но если предположить, что ваш фактический XML действителен, вы можете сделать это:

using System.Xml.Linq;
string xml = @"<language>
<record lang="".net""></record>
<record lang=""java""></record>
<record lang=""php""></record>
</language>";
string temp = string.Join(",", XDocument.Parse(xml).Root.Elements().Select(x => x.Attribute(XName.Get("lang")).Value));


  • XDocument.Синтаксический анализ синтаксический анализ строки в XDocument
  • .Root берет корневой элемент, <language>
  • . Elements() принимает дочерние элементы, три <record>-старая карга.
  • .Select(x => x.Attribute(XName.Get("lang")).Value) принимает значение атрибута "lang" для каждого из этих элементов. В результате получается IEnumerable<string>.
  • string.Join объединяет эти строки с запятой в качестве разделителя.


Karthik_Mahalingam

5