当前位置:编程学习 > C#/ASP.NET >>

怎么去掉XML节点前面的前缀,急啊

<tcm:Data xmlns:tcm="http://www.tridion.com/ContentManager/5.0">
  <tcm:Title>Aandelenfonds</tcm:Title>
  <tcm:Type>Normal</tcm:Type>
  <tcm:Schema xlink:type="易做图" xlink:title="FAQItem" xlink:href="tcm:5-59-8" xmlns:xlink="http://www.w3.org/1999/xlink" />
  <tcm:Content>
    <Content xmlns="uuid:ACAB60FE-A0C2-4C97-BC61-914072147396">
      <Question>Aandelenfonds</Question>
      <Answer>
        <Text>Een beleggingsfonds dat alleen belegt in aandelen.</Text>
        <RelatedLinks>
          <Type>URL</Type>
          <URL>/particulieren/index.jsp</URL>
          <ShowNewWindow>No</ShowNewWindow>
        </RelatedLinks>
      </Answer>
    </Content>
  </tcm:Content>
</tcm:Data>
这是我的XML文件
XmlDocument xmldoc = new XmlDocument();

            xmldoc.Load("tcm.xml");

            XmlNamespaceManager xnm = new XmlNamespaceManager(xmldoc.NameTable);

            xnm.AddNamespace("tcm", "http://www.tridion.com/ContentManager/5.0");

            XmlNode node = xmldoc.DocumentElement.SelectSingleNode("tcm:Data", xnm);

            Console.WriteLine(node.InnerXml);

            XmlDocument doc = new XmlDocument();

            doc.LoadXml(node.OuterXml);

            string[] elements = new string[]{
                "tcm:Metadata","tcm:ApprovalStatus","tcm:IsBasedOnTridionWebSchema","tcm:MultimediaType",
            };

            foreach (string ele in elements)
            {
                XmlNode n = doc.DocumentElement.SelectSingleNode(ele, xnm);
                if (ele != null)
                    doc.DocumentElement.RemoveChild(n);
            }

            xnm.RemoveNamespace("tcm", "http://www.tridion.com/ContentManager/5.0");

           string xml = doc.OuterXml;
           doc.Save("tcm2.xml");
这是我对XML文件进行操作的代码
现在我急需要把所有节点的tcm:这个前缀去掉
请问我该怎么做,网上说有用正则表达式的
各位高手帮帮忙啊,我没分了啊
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,