使用LINQ to XML构建SOAP信封

本文关键字:SOAP 信封 构建 XML LINQ to 使用 | 更新日期: 2023-09-27 18:28:14

我必须构建一个XML文档,它有一个SOAP信封,如下所示:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>

认为SOAP-ENV也是一个XElement,所以这样尝试:

XNamespace soap = "http://schemas.xmlsoap.org/soap/envelope/";
            XElement soapEnvelope = new XElement(soap + "SOAP-ENV:Envelope",
                                new XAttribute(XNamespace.Xmlns + "xmlns:SOAP-ENV", soap.NamespaceName),
                                new XElement("SOAP-ENV:Body"));

给出以下错误:

":"字符(十六进制值0x3A)不能包含在名称

有线索吗?

提前谢谢。

使用LINQ to XML构建SOAP信封

试试这个

XNamespace soap = "http://schemas.xmlsoap.org/soap/envelope/";
XElement element = new XElement(soap + "Envelope", 
    new XAttribute(XNamespace.Xmlns + "SOAP-ENV", soap),
    new XElement(soap + "Body"));