ここで完全に動作するサンプル
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>
たぶん、あなたはあなたが行うことを期待することについて、もう少し正確だろうか?それは文字列で、 "efile"サブストリングのすべてのオカレンスを削除しますか? – ken2k
どういう意味ですか? XMLや生の文字列として解析したいのですか?これまでに何があったの? –
xmlDocumentをefile接頭辞なしで使用したい... – jats