在C#中,有没有办法生成一个带有短前缀的XDocument,而不是每个节点的完整命名空间?我只希望我的XML更干净、更小。我知道在C#中我可以做到:XNamespaceds="http://schemas.microsoft.com/ado/2007/08/dataservices";新XElement(ds+"MyDumbElementName","SomethingStupid");并得到类似的XML:SomethingStupid而不是这样的东西:SomethingStupid显然,第二个版本更漂亮,更易于阅读和紧凑。有没有一种方法可以在不调用Parse("...")的情况下生成XDocument等价物的紧凑版本?你可能决定冒险回答“不”,在这种情况下我认为公平的做法是等待别人回答,如果没有人给出合适的答案,我会接受你的“不”,否则,如果有人确实提供了答案,我将标记“否”。我希望你们也看起来公平。编辑:也许我应该更具体地说,我希望能够使用多个命名空间,而不仅仅是一个。您可以通过指定xmlns属性显式覆盖此行为:XNamespacens="urn:test";newXDocument(newXElement("root",newXAttribute(XNamespace.Xmlns+"ds",ns),newXElement(ns+"foo",newXAttribute("xmlns",ns),newXElement(ns+"bar","内容")))).转储();content默认情况下,行为是指定xmlnsin-line。XNamespacens="urn:test";newXDocument(newXElement("root",newXElement(ns+"foo",newXElement(ns+"bar","content"))).Dump();givesoutput:content所以默认行为是你所期望的,除非定义了命名空间:以上是C#学习教程:在C#中,有没有办法为每个节点生成一个带有短前缀而不是完整命名空间的XDocument?如果分享的内容对你有用,需要了解更多C#学习教程,希望大家多多关注——XNamespacens="urn:test";newXDocument(newXElement("root",newXAttribute(XNamespace.Xmlns+"ds",ns),newXElement(ns+"foo",newXElement(ns+"bar","content"))))。倾倒();内容本文收集自网络,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
