私はこれをほぼ一日の間処理しています。しかし、私は、タブをすべての改行を取ることができないんだけど、キャリッジリターンから「>」と「<」2つのタグの間で改行、タブ、改行をすべて取り出すのに問題があります
これは私が読んでいるサンプルXMLファイルです:
<Consequence_Note>
<Text>In some cases, integer coercion errors can lead to exploitable buffer
overflow conditions, resulting in the execution of arbitrary
code.</Text>
</Consequence_Note>
、これを
<Consequence_Scope>Availability</Consequence_Scope>
<Consequence_Technical_Impact>DoS: resource consumption
(CPU)</Consequence_Technical_Impact>
私の目標は、すべての改行、タブ、およびこれら二つのタグ(>と<)からキャリッジリターンを取ることです。私が達成できる唯一のことは、2つのタグの間に何もないときには、 "/"から "/ n/t/r"と "<"をすべて取り除くことです。しかし、2つのタグの間に他の文字がある場合は、\ n \ t \ rをすべて取り出すことができません。
私は例えば「>」からすべての改行を取るだろう正規表現を持っている方には、ヘルプ、タグ、およびキャリッジリターンを必要とし、「<」
:
<Consequence_Technical_Impact>DoS: resource consumption
(CPU)</Consequence_Technical_Impact>
何私が持っていると思います:
<Consequence_Technical_Impact>DoS: resource consumption (CPU)</Consequence_Technical_Impact>
これは私のコード(私はxmlファイルから読んでいる)である:
String file = @"C:\Documents and Settings\YYC\Desktop\cwec_v2.1\cwec_v2.1.xml";
var lines = File.ReadAllText(file);
var replace = Regex.Replace(lines, @">([\r\n\t])*?<", "><");
File.WriteAllText(file, replace);
XMLパーサーを使用する必要があります。 – SLaks
@SLaks XMLパーサーを使用したいと思います。私が読んでいるXMLは非常に巨大なファイルであり、このXMLファイルの形式は3か月に1回変更されます。だからそれを解析するのは良い考えではありません。 – yyc2001
違いはありません。 LINQ to XMLを使用すると、任意の形式を簡単に処理でき、正規表現よりもはるかに簡単で信頼性が向上します。確かに; – SLaks