Редактирование тега в XpathDocument в C#
У меня есть объект 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 ответ
Решение
Должен ли это быть 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);