0

这是所需的(必需的)输出:

<BatchAttestationRequest xmlns="http://cms.gov/nlr/attestation/batch/request/1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://cms.gov/nlr/attestation/batch/request/1.0 BatchAttestationRequest.xsd ">

我发现了一些有用的帖子,可以让我朝着正确的方向前进。这个问题让我非常接近,但是在我这边实施时,解决方案存在一些问题。

这是我的代码:

        XNamespace ns = @"http://cms.gov/nlr/attestation/batch/request/1.0";
        XNamespace xsi = @"http://www.w3.org/2001/XMLSchema-instance";


        XElement xml_file = new XElement(ns + "BatchAttestationRequest",
                                new XAttribute(XNamespace.Xmlns + "xsi", xsi.NamespaceName),
                                new XAttribute(xsi + "schemaLocation", @"http://cms.gov/nlr/attestation/batch/request/1.0 BatchAttestationRequest.xsd "),
                                    header, // child nodes
                                    attestations,
                                    trailer);

我在使用此代码时遇到的问题:

  • 属性乱序;“xmlns”属性需要先出现
  • 我的根节点的每个子节点现在都有“xmlns=""" 作为属性。

我想得到上面的输出。

谢谢!

4

1 回答 1

0

您需要像为根设置一样为元素设置命名空间。例如新的 XElement(ns + "Header")

于 2015-02-13T20:13:51.707 回答