一個長期問題 - 請耐心等待!使用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類?
謝謝...