我有一个类似 xml 的文本,我想在其中找到某个模式第一次出现时出现的项目:通常:
...
<PropertyGroup><name>true</name></PropertyGroup><PropertyGroup>....
....
也可以是
...
<PropertyGroup>
<name>
true</name>
</PropertyGroup>
...
<PropertyGroup>
...
在上面,我需要提取“名称”。
我最初的假设是所有出现都在一行中,我使用字符串属性编写了我的代码,但是很难考虑所有可能性,只有 RegEx 可以拯救我。
就是不知道怎么写。。。
我从这样的事情开始:
Regex regex = new Regex("(?<=<PropertyGroup>#)<+");
Match matches = regex.Matches(Text)[0];
MessageBox.Show(matches.ToString());
我认为这会找到 a 之后的第一个项目<PropertyGroup>
,但我不知道如何让它在尖括号内获取项目......(可能在一个或多个换行符和/或空格之后)。
我知道有用于解析 xml 的实用程序,但我正在寻找可以在 ac# 程序中简单插入的东西
有人可以帮帮我吗 ?非常感谢。
编辑:实际文件内容(我现在正在测试的,没有奇怪的空格):
<?xml version="1.0" ?><Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets">
<Import xxx/>
</ImportGroup>
<PropertyGroup><myProp>true</myProp></PropertyGroup><PropertyGroup Label="UserMacros"/>
<PropertyGroup/>
<!--maybe other stuff -->
</Project>