C#을 사용하여 XML 문서 작업을하고 있습니다.C에서 데이터 손실없이 xml의 특정 태그를 제거하는 방법 #
<data>
<single>
<p xmlns="http://www.w3.org/1999/xhtml">
<strong>Hi hello bbvahvgxvzhavxhgsavxv</strong>
</p>
<p xmlns="http://www.w3.org/1999/xhtml">
<strong>dmcdnsbcdbn</strong>
</p>
</single>
<single>
<div xmlns="http://www.w3.org/1999/xhtml">
<strong>Hi hello bbvahvgxvzhavxhgsavxv</strong>
</div>
<span xmlns="http://www.w3.org/1999/xhtml">
<strong>dmcdnsbcdbn</strong>
</span>
</single>
</data>
나는 모든 <p>
, <div>
및 <span>
태그를 제거합니다.
출력이 필요 :
<data>
<single>
<strong>Hi hello bbvahvgxvzhavxhgsavxv</strong>
<strong>dmcdnsbcdbn</strong>
</single>
<single>
<strong>Hi hello bbvahvgxvzhavxhgsavxv</strong>
<strong>dmcdnsbcdbn</strong>
</single>
</data>
이 하나가 C#을 사용하여 수행하는 방법을 제안 할 수 있습니다. XmlDocument를 사용하여.
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(xml);
doc.DocumentNode
.Descendants("strong")
.ToList().ForEach(n => n.ParentNode.ParentNode.RemoveChild(n.ParentNode, true));
var newXml = doc.DocumentNode.InnerHtml;
시도한 내용은 무엇입니까? SO는 코드 생성기가 아닙니다.이 작업을해야합니다. –
XSLT를 사용하는 것이 좋습니다. –
또한 정규 표현식을 사용해 볼 수도 있습니다. 하지만 중첩 된 div에서는 어려울 것입니다. – BlueM