Редактирование тега в XpathDocument в C # - PullRequest
0 голосов
/ 29 января 2019

У меня есть объект XpathDocument, содержимое которого имеет вид

<MainTag>
   <XYZTag>
      <Tag>
       <CTag ID="ABS"/>
      </Tag>
     </XYZTag>
     <ABCTag>
       <CTag ID="ABS"/>
      </ABCTag>
      <FGHTag>
       <CTag ID="ABS"/>
      </FGHTag>
</MainTag>

Я хочу удалить

<Tag> </Tag> 

, чтобы он выглядел как

<MainTag>
   <XYZTag>

       <CTag ID="ABS"/>

     </XYZTag>
     <ABCTag>
       <CTag ID="ABS"/>
      </ABCTag>
      <FGHTag>
       <CTag ID="ABS"/>
      </FGHTag>
</MainTag>

Я попытался назначитьinnerXML для externalXML, по-видимому, не допускается.Множество онлайн-решений тоже не работают.Возможно ли иметь это изменение в XPathDocument?

1 Ответ

0 голосов
/ 29 января 2019

Должен ли это быть XPathDocument.Вы можете сделать это легко, используя XmlDocument .Вот один пример.

var xml = @"
<MainTag>
      <Tag>
       <CTag ID='ABS'/>
      </Tag>
</MainTag>";

var doc = new XmlDocument();
doc.LoadXml(xml);
var tagNode = doc.SelectSingleNode("//Tag");

var ctagNode = tagNode.FirstChild;
tagNode.ParentNode.ReplaceChild(ctagNode, tagNode);
...