使用C#从XML检索文本

问题描述 投票:2回答:2

我有一个包含此内容的文本文件:

<Person>
    <Prenom>Jack</Prenom>
    <Nom>Jhon</Nom>
    <Adresse>4 rue de la Mélandine</Adresse>
    <Tél></Tél>
    <Email>[email protected]</Email>
    <PhotoPath>c:\Program Files\Zonedetec\Gestionnaire de tâche v2\Img\5295f1ea-372a-4f2f-8f32-c52e8a48cc0839105.png</PhotoPath>
    <Age>19</Age>
    <Id>4640434</Id>
</Person>
<Person>
    <Prenom>Jean</Prenom>
    <Nom>Delamar</Nom>
    <Adresse>13 rue de la Mélandine</Adresse>
    <Tél></Tél>
    <Email>[email protected]</Email>
    <PhotoPath>c:\Program Files\Zonedetec\Gestionnaire de tâche v2\Img\5295f1ea-372a-4f2f-8f32-c52e8a48cc0839105.png</PhotoPath>
    <Age>19</Age>
    <Id>4640434</Id>
</Person>

我想检索标签之间的所有值例如,在一个列表中,我想检索和

之间的值(此处为2)

我该怎么做?

我尝试过:

internal static void LoadPerson()
    {
        string data = File.ReadAllText(Main.PersonnePath);

        Regex regex = new Regex("<Person>(.*)</Person>");
        var v = regex.Match(data);
        string s = v.Groups[1].ToString();

        MessageBox.Show(s);
    }

除了s根本不包含任何东西

您能帮我吗?谢谢。

c# .net regex xml tags
2个回答
3
投票

重要:XDocument要求您的XML具有一个根标记才能工作。由于您的XML有两个根标签。我用字符串插值$"<root>{input}</root>"


3
投票
© www.soinside.com 2019 - 2024. All rights reserved.