我有一個相當大的應用程序的XML輸出。我需要用我的程序處理它,然後將它反饋回原始程序。這個XML中有些部分需要填寫我們替換的部分。有趣的部分是這樣的:無法正確使用多行正則表達式工作
<sys:customtag sys:sid="1" sys:type="Processtart" />
<sys:tag>value</sys:tag>
here are some other tags
<sys:tag>value</sys.tag>
<sys:customtag sys:sid="1" sys:type="Procesend" />
和文件包含這樣的幾件。
我需要獲取這些標籤中的所有XML片段才能對其進行修改。我寫了一個正則表達式來獲取這些作品,但它不工作:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(@"output.xml");
Regex regExp = new Regex(@"<sys:customtag(.*?)Processtart(.*?)/>(.*?)<sys:customtag (.*?)Procesend(.*?)/>", RegexOptions.Multiline & RegexOptions.IgnorePatternWhitespace & RegexOptions.CultureInvariant);
MatchCollection matches = regExp.Matches(xmlDoc.InnerXml);
如果我離開了整個東西在一行,並把這種正則表達式,而不多的選擇,它確實找到每一個出現次數。通過保持原樣並設置多行選項,它不起作用。什麼問題,我應該改變什麼?或者有沒有更簡單的方法來獲得這些標籤之間的XML部分而無需正則表達式?
就是這樣,謝謝。我也意味着多線=多線模式。 – Biri 2008-11-14 07:50:50