2
我有一个DataSet,其中包含输出(写入)到XMl文件的数据。Dataset.WriteXml()命名空间和前缀
我添加了一个命名空间和前缀的数据集是这样的:
public static string XmlNamespace = "http://namespace";
public static string XmlPrefix = "ns0";
RequestDataSet.Namespace = XmlNamespace;
RequestDataSet.Prefix = XmlPrefix;
的XML输出如下:
<?xml version="1.0" standalone="yes"?>
<ns0:list xmlns:ns0="http://namespace">
<ns0:item xmlns="http://namespace">
<data1>1234</data1>
<data2>91011</data2>
</item>
</ns0:list>
但它应该是这样的:(在没有命名空间项目记录。只是前缀)
<?xml version="1.0" standalone="yes"?>
<ns0:list xmlns:ns0="http://namespace">
<ns0:item>
<data1>1234</data1>
<data2>91011</data2>
</item>
</ns0:list>
我曾尝试将表前缀/命名空间设置为空像这样:
RequestDataSet.Tables["item"].Prefix = XmlPrefix;
RequestDataSet.Tables["item"].Namespace = null;
但是,这也行不通...有没有人知道这个解决方案?
可能性能方面的考虑在这里为好,这取决于你的XML的大小。 – Nick 2012-01-12 12:15:30
我不太确定它是不同的故事,因为我构建的xml文件将被发送到BizTalk服务器进行处理,我的问题是BizTalk无法验证我的xml文件,因为它不喜欢命名空间: )我会尝试你现在给我的解决方案!不好报告回来:) – 2012-01-12 12:25:28
啊,BizTalk似乎出现在这些情况!好的,让我知道。我们在BizTalk中的解决方案是在映射器中具有内联函数,如果我记得正确地做了与上述类似的事情。如果这是您的选择,可以使用映射器中的XSLT修复此问题。保持我的发布。 – Nick 2012-01-12 12:28:27