例如,我有这个xml字符串:
account
我希望在一个对象数组中获取所有这些元素(对于我有一个类的每个对象),而不会丢失它们的结构:
<?xml version="1.0" encoding="utf-8"?>
<data>
<text>How to get <bold>all</bold> this string's content?</text>
</data>
我现在正在使用[1] (TextClass; where bold = false) How to get
[2] (TextClass; where bold = true) all
[3] (TextClass; where bold = false) this string's content?
和XmlDocument
课程分别是InnerText或InnerXml。
XmlNode
有可能吗?
答案 0 :(得分:1)
对于这类工作,我认为使用LINQ to XML更容易。
在您的示例中,以下内容可能会起作用(具体取决于您要实现的目标):
XDocument doc = XDocument.Parse(xml);
var textClasses = from n in doc.Descendants("text").DescendantNodes()
where n.NodeType == XmlNodeType.Text
select new { text = ((XText)n).Value, bold = n.Parent?.Name == "bold" };
并.net fiddle,以便您快速查看结果。