XML命名空间声明不在根元素?

时间:2011-05-04 17:54:06

标签: c# xml namespaces serializer

我有一个需要看起来像这样的XML代码段:

<Item xmlns="uuid:e5fe5e94-392a-4750-a487-88c473b6759e">
  <title>test name</title>
  <subtitle>subtitle text</subtitle>
  <shortDescription />
  <longDescription />
  <node1 xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:title="title test"
  xlink:href="test" />
  <large>test large</large>
  <small>test small</small>
</Item>

相反,当我将XmlSerializerNamespace添加到Serialize调用时,我使用XmlSerializer.Serialize获取的XML会输出以下内容:

<Item xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="uuid:e5fe5e94-392a-4750-a487-88c473b6759e">
  <title>test name</title>
  <subtitle>subtitle text</subtitle>
  <shortDescription />
  <longDescription />
  <node1 xlink:type="simple" xlink:title="title test"
  xlink:href="test" />
  <large>test large</large>
  <small>test small</small>
</Item>

请注意,xmlns:xlink命名空间位于Root元素,而不是platform元素。任何想法如何让命名空间出现在正确的元素而不是Root?

0 个答案:

没有答案