【发布时间】:2017-12-09 08:52:42
【问题描述】:
我需要使用 XmlWriter 在 XML 中创建一个文件,包括为每个标签命名空间\模式。 首先我有一个由 xsd 模式文件生成的类,我用所有对象创建类,最后我序列化编写 xml 的类:
myclass root = new myclass();
root.val1 = "temp1";
root.val2 = "temp2";
[...]
using (XmlWriter writer = XmlWriter.Create(Path.Combine("myfile.xml"), s))
{
serializer.Serialize(writer, root);
问题在于它会创建这样的标签:
<Message>
<val1> temp1 </val1>
<val2> temp2 </val2>
<Message>
我想把标签写成:
<temp:Message>
<temp:val1> temp1 </val1>
<temp:val2> temp2 </val2>
<temp:Message>
我可以在我的类中使用一些属性来添加temp: 起始标签吗?
我还需要在我的根标签中添加一些命名空间:
<temp:Message
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="myxml.xsd"
xmlns:stf="urn:oecd:ties:stf:v4"
xmlns:mesage="urn:oecd:ties:cbc:v1"
xmlns:iso="urn:oecd:ties:isocbctypes:v1"
version="1.0">
所以我需要添加到根类:
1) xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2) xsi:schemaLocation="myxml.xsd"
3) xmlns:mesage="urn:oecd:ties:cbc:v1"
4) etc...
我该怎么做?
【问题讨论】:
-
如果它适合你,别忘了点赞/接受
标签: c# xml xmlserializer xmlwriter