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

Posted

技术标签:

【中文标题】如何从包含 XMl 的字符串中获取内部 xml【英文标题】:How to get inner xml from string containing XMl 【发布时间】:2014-12-08 01:08:01 【问题描述】:

所以如果我有这个带有 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>"

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

【问题讨论】:

用 XmlDocument 打开它并循环浏览内容。 但这会得到值。我需要用它以字符串形式制作小的 xmls 【参考方案1】:

你可以用 LINQ 在一行中做到这一点:

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

【讨论】:

以上是关于如何从包含 XMl 的字符串中获取内部 xml的主要内容,如果未能解决你的问题,请参考以下文章

从包含在字符串中的 XML 获取值

如何在Java(Android)中解析包含XML的字符串[重复]

在 Java DOM 中获取节点的内部 XML 作为字符串

如何将 XML 属性值添加到包含对象的字典中

如何从动态对象中获取反序列化的 xml 属性

如何从Element获取原始xml作为字符串