0

次のような属性を持つ要素を含むxmlファイルを作成する必要があります。

 <element 
     xsi:schemaLocation="http://test.xsd" 
     xmlns="http://test2" 
     xmlns:xsi=http://test3>

私は試した:

 XNamespace ns = "xsi";            
 var root = new XElement("element",
                       new XAttribute(ns + "schemaLocation", "http://test.xsd"), // (I)
                       new XAttribute(XNamespace.Xmlns, "http://test2"),         // (II)
                       new XAttribute(XNamespace.Xmlns + "xsi", "http://test3"), // (III)

しかし、うまく生成されるのは(III)だけです。

 xmlns:xsi=http://test3

(I)は次のように生成されます:

 p1:schemaLocation="http://test.xsd" xmlns:p1="xsi"

(II)行がコンパイルされないため、生成されません。

これらの属性を生成する方法について何かアイデアはありますか?

ありがとう、L

編集-ここにもあります:XElementから名前空間とスキーマを使用してXMLを作成する

4

1 に答える 1

0
const string ns = "http://test2";
const string si = "http://test3";
const string schema_location = "http://test.xsd";

XNamespace xns = ns;
XNamespace sinsp = si;

     XElement xe = new XElement(xns + "element",
           new XAttribute(XNamespace.Xmlns + "xsi", si),
           new XAttribute(sinsp+ "schemaLocation", schema_location),
           new XElement(xns + "sometag", "somecontent")
        );

     return xe;
于 2012-05-16T12:12:07.733 に答える