2011-12-26 20 views
1
<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を削除するにはどのような方法が良いのでしょうか?c#.netを使用して接頭辞を削除する方法

+0

たぶん、あなたはあなたが行うことを期待することについて、もう少し正確だろうか?それは文字列で、 "efile"サブストリングのすべてのオカレンスを削除しますか? – ken2k

+0

どういう意味ですか? XMLや生の文字列として解析したいのですか?これまでに何があったの? –

+0

xmlDocumentをefile接頭辞なしで使用したい... – jats

答えて

9

ここで完全に動作するサンプル

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> 
関連する問題