C#:如何从XML元素中删除命名空间信息

前端之家收集整理的这篇文章主要介绍了C#:如何从XML元素中删除命名空间信息前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何从C#中的每个 XML元素中删除“xmlns:…”命名空间信息?

解决方法

Zombiesheep的警告性答案尽管如此,我的解决方案是用xslt变换来清洗xml.

wash.xsl:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="xml" indent="no" encoding="UTF-8"/>

  <xsl:template match="/|comment()|processing-instruction()">
    <xsl:copy>
      <xsl:apply-templates/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="*">
    <xsl:element name="{local-name()}">
      <xsl:apply-templates select="@*|node()"/>
    </xsl:element>
  </xsl:template>

  <xsl:template match="@*">
    <xsl:attribute name="{local-name()}">
      <xsl:value-of select="."/>
    </xsl:attribute>
  </xsl:template>

</xsl:stylesheet>

猜你在找的C#相关文章