2010-08-18 3 views
0

я следующие строки, показывающие в файлах, которые были преобразованы в XML из листа Excel:Использование VB.NET регулярных выражений для удаления Excel XML Преобразование

<Worksheet ss:Name="Sheet1"> 
    <Names> 
    <NamedRange ss:Name="Print_Area" ss:RefersTo="=Sheet1!R30C1:R8642C15"/> 
    </Names> 
    <Table ss:ExpandedColumnCount="14" ss:ExpandedRowCount="8655" x:FullColumns="1" 
    x:FullRows="1" ss:StyleID="s16"> 
    <Column ss:Index="2" ss:StyleID="s16" ss:AutoFitWidth="0" ss:Width="41.25"/> 
    <Column ss:StyleID="s16" ss:AutoFitWidth="0" ss:Width="36"/> 
    <Column ss:StyleID="s16" ss:AutoFitWidth="0" ss:Width="35.25"/> 
    <Column ss:StyleID="s16" ss:AutoFitWidth="0" ss:Width="38.25" ss:Span="1"/> 
    <Column ss:Index="8" ss:StyleID="s16" ss:AutoFitWidth="0" ss:Width="31.5"/> 
    <Column ss:Index="11" ss:StyleID="s16" ss:AutoFitWidth="0" ss:Width="30"/> 
    <Column ss:StyleID="s16" ss:AutoFitWidth="0" ss:Width="33.75"/> 
    <Column ss:StyleID="s16" ss:AutoFitWidth="0" ss:Width="28.5"/> 
    <Row ss:StyleID="s18"> 
    <Cell ss:StyleID="s17"><Data ss:Type="String">UNITED STATES</Data></Cell> 
    <Cell ss:StyleID="s17"/> 
    <Cell ss:StyleID="s17"/> 
    <Cell ss:StyleID="s17"/> 
    <Cell ss:StyleID="s17"/> 
    <Cell ss:StyleID="s17"/> 
    <Cell ss:StyleID="s17"/> 
    </Row> 

Я пытаю только удалить <Column .. /> линии , Я «подумал», что у меня был довольно хороший дескриптор регулярных выражений в VB.NET, но, похоже, я не могу соответствовать этим строкам. Я пробовал следующие строки соответствия:

'Using (RegexOptions.Multiline) 
Private Const Column_MatchExpression As String = "^[\s]*<Column[\s\S]+$" 
Private Const Column_MatchExpression As String = " <Column[\s\S]+$" 
Private Const Column_MatchExpression As String = "^ <Column[\s\S]+$" 
Private Const Column_MatchExpression As String = "^[\s]+<Column[\s\w\W]+$" 

Любые мысли по этому вопросу были бы оценены.

+0

загружает файл в память как xmldoc, удаление узлов столбцов и resaving файл не представляется возможным? –

ответ

0

насчет

"^\s*<Column.*/>\s*$" 

?

+0

Это сделало трюк, спасибо за предложение! – knslyr

0
\<Column[^>]*\> 

Должно работать

+0

Пробовал это, к сожалению, не работал. – knslyr

+0

ОК .. отлично работает для меня, рад, что вы получили свой ответ. Ознакомьтесь с http://www.nregex.com/nregex/default.aspx как быстрый и простой (и бесплатный) онлайн-инструмент для тестирования регулярных выражений –

Смежные вопросы