我创建了一个XML文件,但其中一个重复节点是添加命名空间引用(xmlns:kk =" kk")我似乎无法将其删除。仅添加到第一个元素/节点。当我手动删除它时,XML文件将对XSD进行验证。
我尝试在创建xml属性时使用正则表达式删除它。
创建XML
XmlDocument doc
=doc.Load(System.Configuration.ConfigurationManager.AppSettings["doctemploc"]);
XmlElement Blaett = doc.CreateElement("kk:Blaett","kk");
XmlAttribute numbber = doc.CreateAttribute("number");
Blaett.Attributes.Append(numbber);
尝试了
XmlElement Blaett = doc.CreateElement("Blaett");
nummer.RemoveAttribute("xmlns:kk");
nummer.Attributes().Where(a => a.IsNamespaceDeclaration).Remove()
nummer.Attributes("xmlns").Remove();
创建XML文件后
public static class XMLExtensions
{
public static void RemoveNamespace(this XmlDocument document, string
@namespace) =>
document.InnerXml = Regex.Replace(
document.InnerXml,
$@"((?<=\</|\<){@namespace}:|xmlns:{@namespace}=""[^""]+"")",
"");
}
这使得所有KK引用都需要xmlns:kk =&#34; kk&#34;除去
答案 0 :(得分:0)
经过几天的痛苦,而不是KK我将url添加到命名空间
namespace1 = "http://xmls.site.se/section/3.1";
XmlElement Blaett = doc.CreateElement("kk:Blaett"," namespace1);
我确实必须将此添加到每个XmlElement,但它删除了问题,实际上删除了xmlns:kk =“kk”。
根据XSD验证...快乐的日子