从句子C#中提取XML

时间:2018-02-16 02:59:45

标签: regex xml parsing

我正在寻找从句子中提取XML内容,例如:

这是我的下一个目的地:

<Destination>
    <Country>US</Country>
    <City>Washington</City>
</Destination>

我将<Airline>Qatar</Airline>上的<DepartureDate>01 January 2018</DepartureDate>

<mailto:a@a.com>

在C#中使用RegExp从句子中获取XML内容的最佳方法是什么?除了硬编码,标签作为模式的一部分?或者是否有任何XML解析器能够从内容中解析XML?

我需要实现的结果是:

<Destination>
    <Country>US</Country>
    <City>Washington</City>
</Destination>

<Airline>Qatar</Airline>

<DepartureDate>01 January 2018</DepartureDate>

但没有<mailto:a@a.com>

谢谢!

1 个答案:

答案 0 :(得分:0)

尝试一下:

string input = "My next destination is <Destination><Country>US</Country><City>Washington</City></Destination> and I am taking <Airline>Qatar</Airline> on <DepartureDate>01 January 2018</DepartureDate>. <mailto:a@a.com>";

string pattern = "<(\w+)>.*?</\1>";

MatchCollection matches = Regex.Matches(input, pattern);