[英]How to change prefix of a namespace?
如何改造这个
<d xmlns='uri' xmlns:a='uri'>
<a:c/>
<c a:atr=':a:b:c:d:e:f:'/>
</d>
进入这个
<d xmlns='uri' xmlns:b='uri'>
<b:c/>
<c b:atr=':a:b:c:d:e:f:'/>
</d>
?
甚至有可能吗? 最好使用System.Xml.XmlDocument
。
如果 .Net 不可能,你知道什么是可能的吗?
我对这个 API 有点生疏,但你应该能够使用XDocument
来替换命名空间:
var document = XDocument.Load(@"E:\input.xml");
// Find and remove the namespace
document.Root.Attribute(XNamespace.Xmlns + "a").Remove();
// Add a new namespace with same uri and different prefix
document.Root.Add(new XAttribute(XNamespace.Xmlns + "b", "uri"));
document.Save(@"E:\output.xml");
保存时, XDocument
重新生成 XML,只要您保持相同的 uri,就应该应用新的前缀。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.