長い質問-我慢してください!
名前空間とスキーマを使用してプログラムでXMLドキュメントを作成したいと思います。何かのようなもの
<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>
私はかなり素晴らしい新しいLINQのもの(私にとっては新しいもの)を使用しており、XElementを使用して上記を実行することを望んでいました。
オブジェクトにToXElement()メソッドがあります。
public XElement ToXElement()
{
XNamespace xnsp = "http://www.someurl.com/ns/myroot";
XElement xe = new XElement(
xnsp + "myroot",
new XElement(xnsp + "sometag", "somecontent")
);
return xe;
}
これにより、名前空間が正しく与えられます。したがって、次のようになります。
<myroot xmlns="http://www.someurl.com/ns/myroot">
<sometag>somecontent</sometag>
</myroot>
私の質問:スキーマxmlns:xsiおよびxsi:schemaLocation属性を追加するにはどうすればよいですか?
(ところで、属性名にコロン「:」を使用するとエラーが発生するため、単純なXAtttributesを使用できません...)
または、XDocumentまたはその他のLINQクラスを使用する必要がありますか?
ありがとう...