C#读取也包含XML的文本文件

时间:2015-05-11 09:41:56

标签: c# regex xml

我正在阅读文本文件并输出内容。在文本文件中有一些随机的XML行。虽然我可以读入并显示文本文件中的文本,但是存在一个问题,即没有读入或显示xml。 这是我的代码:

这是文本文件的路径

    string strFilePath = @"C:\Users\Desktop\docs\textFile1.txt";

这是RegEx根据日期和时间分离出文本文件,因此我可以按日期和时间的顺序显示内容

    string strRegXPattern = @"(?<date>(?<day>\d{1,2})-(?<month>\d{1,2})-(?<year>(?:\d{4}|\d{2}))\s(?<time>(?<hour>\d{2}):(?<minutes>\d{2}):(?<seconds>\d{2})(?<milli>\.?\d{0,3}))):\s(?<textEntry>.*)";

这里我将strFilePath和strRegXPattern添加到方法ReadFileText()中以读取文本文件。内容将添加到行列表中。

    lstLines.AddRange(base.ReadFileText(strFilePath, strRegXPattern));

所有这一切都适用于文本文件中的文本。然后我根据日期和时间合并所有行并按顺序显示。一切都在工作和显示,除了文本文件中的几个随机的XML行。

显示文本和XML的文本文件的示例内容:

    13-01-2015 12:33:39: Some text here.....
    13-01-2015 12:33:41: Some text here.....
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Request >
    <RequestType>1</RequestType>
    <TsTxnId>123456</TsTxnId>
    </Request>
    13-01-2015 12:34:16: Some text here.....
    13-01-2015 12:34:16: Some text here.....

我想读入并输出它,使它看起来一样,按顺序。现在输出的是以下内容:

    13-01-2015 12:33:39: Some text here.....
    13-01-2015 12:33:41: Some text here.....
    13-01-2015 12:34:16: Some text here.....
    13-01-2015 12:34:16: Some text here.....

没有XML输出?

我的问题是:有人能告诉我如何包含XML,以便可以在文本文件中读取和显示标准文本的其他行吗?目前它还没有被读入或显示。 谢谢。

1 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

[\s\S]

我让你的正则表达式接受添加?的多行...这样它也会捕获其他行中的文本..并使它成为非贪婪的- (BOOL)shouldPerformSegueWithIdentifier:(NSString *)identifier sender:(id)sender { BOOL isToDetail = true; if([identifier isEqualToString:@"FEEDBACK"]) { isToDetail = false; } else { isToDetail = true; } return isToDetail; } ,以便它不会捕获下一个模式。< / p>

请参阅here