计算字符串中特定文本出现的次数并获取数组中的值

Count how many times there is a specific text in a string and get the values in a array

我有这个 XML 文件,我在反序列化它时遇到了问题,所以我想办法绕过它。我有一个 XML 字符串,我想从中获取一个值。假设这是我的 XML 字符串:

string XMLstring = "<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
<InputText>123</InputText>
<InputText>Apple</InputText>
<InputText>John</InputText>
</note>";

现在,我已经尝试过检查 XML 字符串是否包含 InputText,但我想以某种方式从那里获取所有三个值,然后在某处使用它们。有什么办法可以做到这一点而不必反序列化吗?

您可以使用LINQ-to-XML解析字符串并获取值。

using System.Linq;
using System.Xml.Linq;

public static void Main()
{
    var xml = @"<note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body><InputText>123</InputText><InputText>Apple</InputText><InputText>John</InputText></note>";
        
    var list = XDocument.Parse(xml).Descendants("InputText").Select( x => x.Value );
    foreach (var item in list) Console.WriteLine(item);
}

输出:

123
Apple
John

Fiddle