Một câu hỏi dài - hãy chịu với tôi!Tạo XML với các không gian tên và lược đồ từ XElement
Tôi muốn tạo một tài liệu XML theo cách có lập trình với các không gian tên và lược đồ. Một cái gì đó như
<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>
Tôi đang sử dụng công cụ LINQ mới khá lộng lẫy (mới với tôi) và đang hy vọng thực hiện điều này bằng cách sử dụng XElement.
Tôi đã có một phương pháp ToXElement() trên đối tượng của tôi:
public XElement ToXElement()
{
XNamespace xnsp = "http://www.someurl.com/ns/myroot";
XElement xe = new XElement(
xnsp + "myroot",
new XElement(xnsp + "sometag", "somecontent")
);
return xe;
}
mà mang lại cho tôi không gian tên một cách chính xác, do đó:
<myroot xmlns="http://www.someurl.com/ns/myroot">
<sometag>somecontent</sometag>
</myroot>
Câu hỏi của tôi: làm thế nào tôi có thể thêm xmlns schema : xsi và xsi: thuộc tính schemaLocation?
(BTW Tôi không thể sử dụng XAtttributes đơn giản như tôi nhận được một lỗi cho việc sử dụng dấu hai chấm ":" trong một tên thuộc tính ...)
Hoặc tôi cần phải sử dụng một XDocument hoặc một số lớp LINQ khác ?
Thanks ...