我使用WebService将XmlDocument转换为PDF。WebService从我的XmlDocument中删除<xml>标记
我发送到Web服务的XmlDocument看起来像这样。
<?xml version="1.0" encoding="utf-16" ?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
...
</fo:root>
我有一个问题,所以我在调试国防部去发现,当XmlDocument对象是从我的ASP网站本身转移到Web服务,基于.NET 1.1的作品看到他 XML标记。是否有这个标签被删除的原因?它可能是由SOAP响应引起的吗?
有没有办法在手动添加标签回文档?
编辑
要回答John的问题,是我的意思是处理指令。它刚刚熄灭,我想知道为什么,因为我用来转换的库在没有它的情况下无法正常工作。如果我手动添加它,它工作正常,但我只是想知道它为什么消失。
编辑2
即使它不是一个标签,需要XmlDocument的只是不无它的工作库就是为什么我需要它。除此之外,文档的其余部分正确处理。从Web引用生成的Reference.cs看起来是这样的调用方法:
/// <remarks/>
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/GeneratePdfFromXml", RequestNamespace="http://tempuri.org", ResponseNamespace="http://tempuri.org", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)]
[return: System.Xml.Serialization.XmlElementAttribute(DataType="base64Binary")]
public byte[] GeneratePdfFromXml(XmlNode FormattedObjectXml) {
object[] results = this.Invoke("GeneratePdfFromXml", new object[] {
FormattedObjectXml});
return ((byte[])(results[0]));
}
这是相同的问题,因为另一个问题我有,其中XmlDocument的作为,因为SOAP响应XmlNode的引用是的XmlDocument本身。
我只是将其更改为一个字符串; MyXmlDocument.OuterXml;这样,一切都保持不变,没有问题。
你指的是哪个“XML”标签? ''?这是一个处理指令,而不是一个标签。它不应该造成任何问题。是什么让你认为这是问题? – 2011-04-07 19:17:49
再次,这不是一个标签,它是一个处理指令。请显示正在删除处理说明的服务操作的签名(功能标题)。有机会,它应该被删除,但让我们看看。 – 2011-04-07 19:46:47
@约翰桑德斯 - 不是一个PI,虽然它看起来像一个。参见[http://www.developerfusion。“XML声明是一个处理指令?”下的“com/samplechapter/1704/beginning-xml/10 /”) XML规范清楚地显示了XML声明[http://www.w3.org/TR/2008/REC-xml-20081126/#NT-XMLDecl]和处理指令[http://www.w3。 org/TR/2008/REC-xml-20081126 /#sec-pi] – lavinio 2011-04-07 19:52:53