计算字符串中特定文本出现的次数并获取数组中的值
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
我有这个 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