0

XML ドキュメントを生成する次の C# コードがあります。問題は、タグ「CState」の属性の順序を入れ替える必要があることです。したがって、私はすでにいくつかのことを試しました。残念ながら、動作しないか、例外が発生します。

XNamespace ns = "http:dev.test.com/Job/Con";
                XNamespace nsi = "http:www.w3.org/2001/XMLSchema-instance";
                XElement doc = new XElement(ns + "CState", new XAttribute(XNamespace.Xmlns + "xsi", nsi),

                new XElement(ns + "Page",
                new XElement(ns + "Field", new XAttribute("dName", "MembershipNumber"), new XAttribute("type", "Text"), new XAttribute("value", "123456")),
                new XElement(ns + "Field", new XAttribute("dName", "FirstName"), new XAttribute("type", "Text"), new XAttribute("value", "Michael")),
                new XElement(ns + "Field", new XAttribute("dName", "LastName"), new XAttribute("type", "Text"), new XAttribute("value", "Hendly"))
         
                    ));

これは、XML ファイルの出力です。

<?xml version="1.0" encoding="utf-8"?>
<CState xmlns:xsi="http:www.w3.org/2001/XMLSchema-instance" xmlns="http:dev.test.com/Job/Con">
  <Page>
    <Field dName="MembershipNumber" type="Text" value="123456" />
    <Field dName="FirstName" type="Text" value="Michael" />
    <Field dName="LastName" type="Text" value="Hendly" />
  </Page>
</ControlStatements>

ただし、属性は別の順序で表示する必要があります。

XML ファイルの 2 行目は次のように作成されます (正しくありません)。

<CState xmlns:xsi="http:www.w3.org/2001/XMLSchema-instance" xmlns="http:dev.test.com/Job/Con">

これは、XML ファイルで 2 行目を作成する方法です (正しい)。

<CState xmlns="http:dev.test.com/Job/Con" xmlns:xsi="http:www.w3.org/2001/XMLSchema-instance">

どうすればこれをできるだけ簡単に達成できますか?

4

0 に答える 0