c# - 控制 XML namespace 的顺序

标签 c# xml

我在让“xmlns”首先出现在根属性列表中时遇到问题。

我明白了:

  <myroot 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://www.someurl.com/ns/myroot http://www.someurl.com/xml/schemas/myschema.xsd"
        xmlns="http://www.someurl.com/ns/myroot"> 

       <sometag>somecontent</sometag>

    </myroot>

我想要这个:

<myroot 
        xmlns="http://www.someurl.com/ns/myroot" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://www.someurl.com/ns/myroot http://www.someurl.com/xml/schemas/myschema.xsd">

       <sometag>somecontent</sometag>

    </myroot>

我的代码是这样的:

  XNamespace rt = "http://www.someurl.com/ns/myroot";
        XNamespace xsi = "http://www.w3.org/2001/XMLSchema-instance";

        var submissionNode = new XElement(XmlNameSpaces.rt + "myroot");
        submissionNode.Add(new XAttribute(XNamespace.Xmlns + "xsi", "http://www.w3.org/2001/XMLSchema-instance"));
        submissionNode.Add(new XAttribute(xsi + "schemaLocation", @"http://www.someurl.com/ns/myroot http://www.someurl.com/xml/schemas/myschema.xsd"););

我需要做些什么来改变订单?

编辑:我知道顺序通常不相关,但在这种情况下是必需的。

最佳答案

IIRC,属性的顺序(在 xml 中)并不重要……那么为什么要更改它呢?它会导致实际问题吗?

关于c# - 控制 XML namespace 的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/724976/

相关文章:

c# - 仅当记录不存在时才通过存储过程从 TVP 列表中插入项目 - 性能低下

java - 比较两个 XML

c# - 查找没有根元素的节点值

xml - Spring 批处理中追加数据

c# - 动态更改 ASP.NET MVC 中的 WCF 服务 URL

c# - 只读自动实现的属性是否可能?

c# - 将特定路由与 Url.Action 结合使用

c# - 你如何创建一个类似守护进程的应用程序来接收来自 Windows 服务的信息?

xml - 如何区分 XSL 中的两个模板?

java - 通过 Groovy 在 Java 中解析 XML