【发布时间】:2010-09-25 00:13:16
【问题描述】:
一个冗长的问题 - 请耐心等待!
我想以编程方式创建一个带有命名空间和模式的 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 类吗?
谢谢...
【问题讨论】:
标签: c# schema namespaces xelement