sachinsac11 Ответов: 2

Как удалить Родительский тег из XML с помощью c#


<MainParents>
      <Parent>
        <Child 1>Something</Child 1>
        <Child 2>Something</Child 2>
        <Child 3>Something</Child 3>
        <Child 4>Something</Child 4>
      </Parent>
</MainParents>

----------------------------------
я хотел бы удалить только "Родительский" тег, а не его теги содержимого в этом XML-файле ...
наконец-то мне нужен такой вывод, как ...
<MainParents>
    <Child 1>Something</Child 1>
    <Child 2>Something</Child 2>
    <Child 3>Something</Child 3>
    <Child 4>Something</Child 4>
 </MainParents>

2 Ответов

Рейтинг:
1

Shail Mishra

попробовать это..

foreach (XmlNode chkNode in nodes)
{                
    string currentName = "Test 1";
    if (!nameDict.ContainsKey(currentName))
    {
        XmlNode parent = chkNode.ParentNode;
        parent.ParentNode.RemoveChild(parent);
    }
}


Рейтинг:
0

Tejas Vaishnav

вы можете попробовать вот так..

1) прочтите тег <parent> И скопируйте все дочерние узлы с помощью внутреннего xml
2) Теперь перейдите к корневому узлу, который является MainParents
3) теперь замените внутреннюю строку xml на вашу строку xml, которая читается на первом шаге.

я думаю, что это решит вашу проблему.

но я не могу понять, зачем тебе это нужно. вы можете напрямую получить доступ к дочернему узлу, нажав на родительский тег.


[no name]

Благодаря вашему воспроизведению , основной родитель имеет 8 различных субродителей , что отдельный родитель содержит более 10k детей, потребуется больше времени, чтобы скопировать детей и снова написать его . . . есть ли какой-нибудь способ найти этот <Parent>/Parent > теги и заменить на ""(пустая строка).... или любой другой способ....