如何使用C#4.0从xml内容中删除特定的xml元素?

Sar*_*nan 1 .net c# linq-to-xml xml-parsing

这是xml内容.

<w:tbl xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
  <w:tr>
      <w:tc>
         <w:p>
           <w:r><w:t>1</w:t></w:r>
         </w:p>
         <w:p /> <!-- needs to remove -->
         <w:p /> <!-- needs to remove -->
       </w:tc>
       <w:tc>
         <w:p>
           <w:r><w:t>2</w:t></w:r>
         </w:p>
         <w:p />  <!-- needs to remove -->
         <w:p />  <!-- needs to remove -->
       </w:tc>
  </w:tr>
  <w:tr>
      <w:tc>
         <w:p>
           <w:r><w:t>3</w:t></w:r>
         </w:p>
         <w:p />  <!-- needs to remove -->
         <w:p />  <!-- needs to remove -->
       </w:tc>
       <w:tc>
         <w:p>
           <w:r><w:t>4</w:t></w:r>
         </w:p>
         <w:p />  <!-- needs to remove -->
         <w:p />  <!-- needs to remove -->
       </w:tc>
  </w:tr>
</w:tbl>
Run Code Online (Sandbox Code Playgroud)

实际上这个xml内容是由html到ooxml转换器生成的[HtmlToOpenXml.dll].但它错误地<w:p>在每个<w:tc>元素的末尾添加了两个元素.所以,我想<w:p>从转换器生成的xml内容中删除这些元素.我有字符串格式的xml内容.

请指导我摆脱这个问题......

lah*_*rah 6

你能用字符串替换吗?

xmlString.Replace("<w:p />", "");
Run Code Online (Sandbox Code Playgroud)