xmlのようなテキストがあり、特定のパターンの最初の出現で発生するアイテムを検索したいと思います。通常は次のとおりです。
...
<PropertyGroup><name>true</name></PropertyGroup><PropertyGroup>....
....
またである可能性があります
...
<PropertyGroup>
<name>
true</name>
</PropertyGroup>
...
<PropertyGroup>
...
上記では、「名前」を抽出する必要があります。
私の最初の仮定は、すべての出現が1行にあることであり、文字列プロパティを使用してコードを記述しましたが、あらゆる可能性を考慮することは非常に困難であり、RegExだけが私を救うことができます。
書き方がわからない…
私はこのようなものから始めました:
Regex regex = new Regex("(?<=<PropertyGroup>#)<+");
Match matches = regex.Matches(Text)[0];
MessageBox.Show(matches.ToString());
これは、の後に最初のアイテムを見つけると思いますが<PropertyGroup>
、角かっこ内にアイテムを入れる方法がわかりません...(1つ以上の改行やスペースの後にある可能性があります)。
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>