【发布时间】:2019-04-03 00:29:16
【问题描述】:
我正在编写一个使用 XML SOAP 的应用程序。不幸的是,编写请求的代码不在我的手中,因为它是一个仅提供给我的 DLL 文件。我下载了Jetbrain的dotPeek来反编译DLL文件并查看代码,发现soap消息请求体是这样写的
string message = "<Value>" + myValue + "</Value>";
然后解析为 XElement。
现在这在大多数情况下都有效,因为大多数请求都接受正常值(例如<Value>true</Value>)。但是我们正在研究的 xml 技术中有一个特定的协议,我们必须像这样将整个 xml 字符串作为值传递
string myValue = "<?xml version=\"1.0\" encoding=\"utf-8\"?><Foobar ID=\"123\" />";
这会引发错误:
意外的 XML 声明。 XML 声明必须是第一个节点 在文档中,不允许出现空白字符 在它之前。
我生成的 xml 正文如下所示:
<Value><?xml version="1.0" encoding="utf-8"?><Foobar ID="123" /></Value>
我是否可以在避免错误的同时以某种方式传递此 xml 字符串?我正在用 C# 编写所有这些。感谢您的帮助。
【问题讨论】: