如何在两个标签之间检索数据

时间:2012-07-25 07:03:46

标签: c# regex dom

我想获取两个<br/>标记之间的数据。

xml文件中的数据类似于<br/>lots of data<br/>

现在,我想获取两个<br/>标记之间的数据并获取其中的特定数据。

有人可以建议我如何搜索标签并获取它们之间的特定数据吗?

2 个答案:

答案 0 :(得分:1)

你可以在这里使用一些LINQ to XML来做到这一点。

示例:

var xmlStr = @"<root>
    data1<br/>
    data2<br/>
    data3<br/>
    data4<br/>
    data5<br/>
</root>";
var doc = XDocument.Parse(xmlStr);
var query =
    from br in doc.Descendants("br")
    let textNode = br.NextNode as XText
    where textNode != null
    let nextBr = textNode.NextNode as XElement
    where nextBr != null && nextBr.Name == "br"
    select textNode.Value;

答案 1 :(得分:1)

LINQ to XML方法比Jeff Mercado的答案更容易接近。由于不建议使用RegEx来解析XML数据。但是,如果您的要求只有一次,那么它可能会有所帮助。

(?is)(?<=^|<br/>).*?(?=<br/>)