【问题标题】:How to remove prefix using c# .net如何使用 c# .net 删除前缀
【发布时间】:2011-12-26 09:15:49
【问题描述】:
<AcknowledgementList xmlns="http://www.irs.gov/efile" xmlns:efile="http://www.irs.gov  /efile">

     <efile:Acknowledgement>
 <efile:SubmissionId>*********</efile:SubmissionId>
     <efile:EFIN>465465</efile:EFIN>
     <efile:TaxYear>2011</efile:TaxYear>
     <efile:GovernmentCode>OHST</efile:GovernmentCode>
     </efile:Acknowledgement>
</AcknowledgementList>

谁能告诉我从中删除前缀 efile 的最佳方法是什么?

【问题讨论】:

  • 也许您可以更准确地了解您希望做什么?那是一个字符串,你想删除所有出现的“efile”子字符串吗?
  • 什么意思?您想将其解析为 XML 还是原始字符串?到目前为止你得到了什么?
  • 我想要没有 efile 前缀的 XmlDocument...
  • WHY 你想去掉前缀吗?它的存在是有原因的——不要抗拒它——拥抱它!
  • 如果你去掉这些命名空间前缀,你会改变文档的含义

标签: c#


【解决方案1】:

完整的工作示例在这里

using System;
using System.Linq;
using System.Xml.Linq;

namespace ConsoleApplication5
{
    class Program
    {   
        static void Main(string[] args)
        {
            string xml = @"<AcknowledgementList xmlns=""http://www.irs.gov/efile"" xmlns:efile=""http://www.irs.gov/efile"">
            <efile:Acknowledgement>
            <efile:SubmissionId>4654652011356f7ovyf5</efile:SubmissionId>
            <efile:EFIN>465465</efile:EFIN>
            <efile:TaxYear>2011</efile:TaxYear>
            <efile:GovernmentCode>OHST</efile:GovernmentCode>
            </efile:Acknowledgement>
            </AcknowledgementList>";

            XDocument doc = XDocument.Parse(xml, LoadOptions.PreserveWhitespace);
            doc.Descendants().Attributes().Where(a => a.IsNamespaceDeclaration).Remove();
            xml = doc.ToString();
            Console.WriteLine(xml);
        }
    }    
}

你的输出

<AcknowledgementList xmlns="http://www.irs.gov/efile">
         <Acknowledgement xmlns="http://www.irs.gov  /efile">
         <SubmissionId>4654652011356f7ovyf5</SubmissionId>
         <EFIN>465465</EFIN>
         <TaxYear>2011</TaxYear>
         <GovernmentCode>OHST</GovernmentCode>
         </Acknowledgement>
         </AcknowledgementList>

【讨论】:

    猜你喜欢
    • 2011-03-04
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 2011-10-23
    • 2013-11-03
    • 2012-05-19
    • 2021-07-08
    • 2023-04-05
    相关资源
    最近更新 更多