c# - 如何从包含 XMl 的字符串中获取内部 xml

标签 c# xml string parsing split

所以如果我有这个带有 xml 的示例字符串。

"<bookstore>
   <book genre='autobiography' publicationdate='1981-03-22' ISBN='1-861003-11-0'>
       <title>The Autobiography of Benjamin Franklin</title>
       <author age="40">
           <first-name>Benjamin</first-name>
           <last-name>Franklin</last-name>
       </author>
       <author age="56">
           <first-name>Barack</first-name>
           <last-name>Obama</last-name>
       </author>
       <price>8.99</price>
   </book>
 </bookstore>"

我想从中生成两个不同的字符串,如下所示:

"<author age="40">
           <first-name>Benjamin</first-name>
           <last-name>Franklin</last-name>
       </author>"

"<author age="56">
           <first-name>Barack</first-name>
           <last-name>Obama</last-name>
       </author>"

因为我想把它们放在列表中。我尝试使用 Split 但没有结果

最佳答案

您可以使用 LINQ 在一行中完成此操作:

List<string> list = XDocument.Parse(xmlString)
                     .Descendants("author")
                     .Select(x => x.ToString())
                     .ToList();

关于c# - 如何从包含 XMl 的字符串中获取内部 xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26340485/

相关文章:

xml - RESTFUL WCF 删除所有 xmlns

java - 用于将 XML 转换为 CSV 的 XSL : Adding Quotes to the end based on data field

c++ - 控制台输出不断崩溃

javascript - 如何使 JavaScript indexOf() 不检测子字符串

c# - SharePoint SPListItemCollection,将项目添加到空白列表

c# - Entity Framework - 更新/增加现有值(value)

c# - 使用秒表倒计时

c# - VS2015 project.json 编译排除

android - 使用 android SAX 包 mathods 解析 Xml 以获取 android 中的属性值

c - 如何为节点添加名称? (二叉树,C)