一个长期问题 - 请耐心等待!使用XElement中的名称空间和模式创建XML
我想以编程方式创建一个名称空间和模式的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类?
谢谢...