2013-11-21 2 views
0

Я Добавление некоторых X элементов в корневой элемент, используя (Мы используем .Net 2.0)Удаление пустого пространства добавлено CreateTextNode после Removechildnode

xnode.AppendChild(parentINode); 
xnode.AppendChild(config.CreateTextNode("\r\n")); 
//then removeing all added elements using 
xnode.ParentNode.RemoveChild(xnode); 

Это добавит пробелы, я хочу, чтобы удалить пробелы, которые были addedd путем добавления элементов, удаляя дочерний узел.

Мой исходный файл выглядит, как показано ниже:

<c123:Images State="ARASU"> 
    <!-- Names-Images --> 
</c123:Images> 

мы добавим некоторые элементы к нему:

<c123:Images State="ARASU"> 
    <!-- Names-Images --> 
    <Name place=123> 
    <Name place=1234> 
    </c123:Images> 

Тогда мы будем удалять элементы: то это выглядит, как показано ниже

<c123:Images State="ARASU"> 
    <!-- Names-Images --> 


    </c123:Images> 

Здесь мы получаем количество белых пробелов, равное количеству добавленных элементов, мы хотим удалить/избежать w hite, созданное после удаления дочерних узлов. Спасибо & С уважением,
Channabasappa M

ответ

0

Вы можете использовать этот метод расширения:

public static void RemoveEmptyElementsAndWhiteSpaces(this XDocument document) 
    { 
     if(null == document) 
      throw new ArgumentNullException("document"); 

     document.Descendants() 
      .Where(e => e.IsEmpty || string.IsNullOrWhiteSpace(e.Value)) 
      .Remove(); 
    } 

Edit: если вы используете класс XmlDocument, может быть, вы можете установить свойство PreserveWhiteSpace к ложным?

+0

Спасибо, мы используем .Net 2.0 я думаю System.Linq не будет поддерживать в нем. – channa

+0

Я отредактировал свой ответ. – schglurps

+0

Спасибо, я попробовал с reserveWhiteSpace = false, это не сработало. – channa

0

Я сделал только Наезд на XML теге Удалены пробельных с проверкой

//Removing whitespace created 

    if (xnode.NextSibling != null && xnode.NextSibling.NodeType == XmlNodeType.Whitespace) 
     { 
      xnode.ParentNode.RemoveChild(xnode.NextSibling); 
     } 
Смежные вопросы